トップ回答者
stringのインデクサ挙動が記載されているドキュメント

質問
回答
-
MSDN ライブラリで、String インデクサの『例外』の項を調べてみてください。範囲外のパラメーターに対して IndexOutOfRangeException を返すことが明記されています。
http://msdn.microsoft.com/ja-jp/library/system.string.chars.aspx
- 回答の候補に設定 octopus-jelly 2013年6月19日 0:37
- 回答としてマーク kobayantk 2013年6月30日 11:13
-
http://msdn.microsoft.com/ja-jp/library/s1wwdcbf.aspxMSDN のドキュメントにはインデクサーが抜けてますね。
Visual Studio で String クラスの定義を見ると
--
// 概要:
// 現在の System.String オブジェクト内の指定した位置にある System.Char オブジェクトを取得します。
//
// パラメーター:
// index:
// 現在の文字列内の位置。
//
// 戻り値:
// index 位置にあるオブジェクト。
//
// 例外:
// System.IndexOutOfRangeException:
// index が、このオブジェクトの長さ以上であるか、または 0 未満です。
--
となってます。
- 回答としてマーク kobayantk 2013年6月30日 11:13
-
まず.NETに限らず、例外機構のある環境では、範囲外では例外が投げられます。.NETでも基本的に例外が投げられます。
と言いつつ、.NETでもNameValueCollectionのように例外を投げずにnullを返すものもあるので困るわけですが…。また.NETクラスライブラリでインデクサの名前はほとんどItemです。
例外はString、StringBuilderなどに限られるようです。.NET 4.5では次の7つぐらい。String、StringBuilderがCharsプロパティ。XmlNodeList、XmlAttributeCollection、EncryptionPropertyCollection、ReferenceListがItemOfプロパティ。さてPrintPropertyDictionaryは存在しないPropertyプロパティがインデクサーに指定されてるゾ!- 回答の候補に設定 ひらぽんModerator 2013年6月27日 1:36
- 回答としてマーク kobayantk 2013年6月30日 11:13
すべての返信
-
MSDN ライブラリで、String インデクサの『例外』の項を調べてみてください。範囲外のパラメーターに対して IndexOutOfRangeException を返すことが明記されています。
http://msdn.microsoft.com/ja-jp/library/system.string.chars.aspx
- 回答の候補に設定 octopus-jelly 2013年6月19日 0:37
- 回答としてマーク kobayantk 2013年6月30日 11:13
-
http://msdn.microsoft.com/ja-jp/library/s1wwdcbf.aspxMSDN のドキュメントにはインデクサーが抜けてますね。
Visual Studio で String クラスの定義を見ると
--
// 概要:
// 現在の System.String オブジェクト内の指定した位置にある System.Char オブジェクトを取得します。
//
// パラメーター:
// index:
// 現在の文字列内の位置。
//
// 戻り値:
// index 位置にあるオブジェクト。
//
// 例外:
// System.IndexOutOfRangeException:
// index が、このオブジェクトの長さ以上であるか、または 0 未満です。
--
となってます。
- 回答としてマーク kobayantk 2013年6月30日 11:13
-
まず.NETに限らず、例外機構のある環境では、範囲外では例外が投げられます。.NETでも基本的に例外が投げられます。
と言いつつ、.NETでもNameValueCollectionのように例外を投げずにnullを返すものもあるので困るわけですが…。また.NETクラスライブラリでインデクサの名前はほとんどItemです。
例外はString、StringBuilderなどに限られるようです。.NET 4.5では次の7つぐらい。String、StringBuilderがCharsプロパティ。XmlNodeList、XmlAttributeCollection、EncryptionPropertyCollection、ReferenceListがItemOfプロパティ。さてPrintPropertyDictionaryは存在しないPropertyプロパティがインデクサーに指定されてるゾ!- 回答の候補に設定 ひらぽんModerator 2013年6月27日 1:36
- 回答としてマーク kobayantk 2013年6月30日 11:13