[英]Dictionary Difference between C# and VB.Net
为什么如果我在C#中有一个Dictionary<string, MyClass> myDic
我不能做myDic.Values[1]
因为它不能索引允许我做myDic.Values(1)
的Dictionary而不是Vb.Net? C#词典和VB.Net词典之间有什么区别吗?
不,简短的答案是您不能将索引应用于C# Dictionary<>.ValueCollection.
如以下注释中所述,最接近的C#相关性使用myDict.Values.ElementAtOrDefault(1)
检索值,因为如果不存在该值,它将安全地返回默认值,该值与VB.Net行为匹配。 也就是说,这可能表示滥用字典,特别是因为不能保证顺序。
通常,从字典中检索值的最有效和最有价值的方法是通过键查找。 这仅仅是猜测,如果C#不支持在Values Collection上建立索引只是为了引导您朝正确的方向并防止滥用,也不会令我感到惊讶。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.