当字典中不存在键时,[string]
索引器返回什么?Dictionary
我是 C# 新手,似乎找不到像 Javadocs 一样好的参考。
我得到null
,还是我得到一个例外?
当字典中不存在键时,[string]
索引器返回什么?Dictionary
我是 C# 新手,似乎找不到像 Javadocs 一样好的参考。
我得到null
,还是我得到一个例外?
如果您指的是 a 的索引器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)
检查字典是否包含密钥。
谢谢
作为 using 的替代方法TryGetValue
,您可以先检查密钥是否存在 usingdict.ContainsKey(key)
从而消除在确定您是否真的需要之前声明值的需要。