C#:Dictionary的索引器返回什么?
当Dictionary
中不存在键时, Dictionary
的[string]
索引器会返回什么? 我是C#的新手,我似乎无法找到像Javadocs一样好的参考。
我得到null
,还是我得到例外?
如果您指的是Dictionary
的索引器,那么您应该看到一个exception( KeyNotFoundException
)。 如果您不希望它出错:
SomeType value; if(dict.TryGetValue(key, out value)) { // key existed; value is set } else { // key not found; value is default(SomeType) }
与以往一样, 文档是找出的方法。
在例外情况下:
KeyNotFoundException 检索该属性,并且该集合中不存在密钥
(顺便说一句Dictionary
我假设你的意思是Dictionary
。)
请注意,这与非genericsHashtable行为不同 。
要在不知道密钥是否存在时尝试获取密钥的值,请使用TryGetValue 。
我想你可以尝试一下
dict.ContainsKey(someKey)
检查词典是否包含密钥。
谢谢
dict.ContainsKey(key)
使用TryGetValue
,您可以首先使用dict.ContainsKey(key)
检查密钥是否存在,从而无需在找出实际需要之前声明值。