|
分類:[C#]
分類:[C#]
LastIndexOf の動作について、少々疑問に感じたところがあるので投稿させて頂きます。 一応トピックを検索してみましたが、重複してたらすみません。
現在、C++ で C# のような string クラスを実装している関係で、LastIndexOf の動作について調べていたのですが、例えば以下のプログラムを書いた場合、
string str = "あいうえお";
// -1 str.IndexOf("あ", 5); // -1 str.IndexOf('あ', 5); // 0 str.LastIndexOf("あ", 5); // 例外? ← 0 が返されて欲しい、もしくは↑の行で例外を投げて欲しい str.LastIndexOf('あ', 5);
// 0 str.IndexOf("", 0); // 5 str.IndexOf("", 5); // 0 str.LastIndexOf("", 0); // 4? ← 5 が返されて欲しい str.LastIndexOf("", 5);
このように、IndexOf と比較した場合に、よく分からない動作をすることがあるのですが、これは仕様なのでしょうか?
また、他に LastIndexOf で変な動作をするというのがあれば教えて頂ければ幸いです。
よろしくお願いします。
|