キーがディクショナリに存在しない場合、[string]
インデクサーは何を返しますか? Dictionary
私は C# が初めてで、Javadocs ほど優れたリファレンスを見つけることができないようです。
または例外が発生しますnull
か?
キーがディクショナリに存在しない場合、[string]
インデクサーは何を返しますか? Dictionary
私は C# が初めてで、Javadocs ほど優れたリファレンスを見つけることができないようです。
または例外が発生しますnull
か?
のインデクサーを意味する場合Dictionary<string,SomeType>
は、例外 ( KeyNotFoundException
) が表示されるはずです。エラーにしたくない場合:
SomeType value;
if(dict.TryGetValue(key, out value)) {
// key existed; value is set
} else {
// key not found; value is default(SomeType)
}
いつものように、ドキュメントは見つける方法です。
例外の下:
KeyNotFoundException プロパティが取得され、キーがコレクションに存在しません
(ちなみに、私はあなたが意味していると仮定していますDictionary<TKey,TValue>
。)
これは、非ジェネリックな Hashtable の動作とは異なることに注意してください。
キーの値が存在するかどうかわからないときにキーの値を取得するには、 TryGetValueを使用します。
私はあなたが試すことができると思います
dict.ContainsKey(someKey)
辞書にキーが含まれているかどうかを確認します。
ありがとう
を使用する代わりに、を使用しTryGetValue
てキーが存在するかどうかを最初に確認するdict.ContainsKey(key)
ことで、実際に必要かどうかを確認する前に値を宣言する必要がなくなります。