Dictionary
的[string]
索引器在字典中不存在關鍵字時會返回什麼?我是C#的新手,我似乎無法找到與Javadoc相同的參考。C#:Dictionary的[string]索引器返回什麼?
我會得到null
,還是會得到異常?
Dictionary
的[string]
索引器在字典中不存在關鍵字時會返回什麼?我是C#的新手,我似乎無法找到與Javadoc相同的參考。C#:Dictionary的[string]索引器返回什麼?
我會得到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)
}
一如既往,documentation是找出答案的方法。
下例外:
KeyNotFoundException The property is retrieved and key does not exist in the collection
(我假設你的意思Dictionary<TKey,TValue>
,順便說一句。)
注意,這是從non-generic Hashtable behaviour不同。
要嘗試在不知道它是否存在時獲取密鑰的值,請使用TryGetValue。
可選擇使用TryGetValue
,可以先檢查是否使用dict.ContainsKey(key)
從而省去了一個價值發現如果你確實需要事先申報存在的關鍵它。
我想你可以嘗試
dict.ContainsKey(someKey)
檢查,如果字典中包含的關鍵與否。
謝謝
當你嘗試它會發生什麼? – AnthonyWJones 2008-12-29 14:10:28
這應該是一件好事,我想試試。 – jjnguy 2008-12-29 14:11:52
感謝您的拼寫幫助Blair – jjnguy 2008-12-29 14:12:22