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)检查密钥是否存在,从而无需在找出实际需要之前声明值。