C#和VB.Net之间的字典差异

时间:2016-10-27 15:20:01

标签: c# vb.net dictionary difference

为什么我在C#中有Dictionary<string, MyClass> myDic我无法做到 myDic.Values[1]因为它无法将字典编入索引,而不是允许我这样做的Vb.Net myDic.Values(1)? C#Dictionary和VB.Net之间有什么区别吗?

1 个答案:

答案 0 :(得分:4)

不,简短的回答是您无法将索引应用于C#Dictionary<>.ValueCollection.

如下面的评论所述,最接近的C#关联使用myDict.Values.ElementAtOrDefault(1)来检索值,因为如果该值不存在,它将安全地返回默认值,这与VB.Net行为相匹配。也就是说,这可能表示滥用字典,特别是因为订单无法保证。

通常,从Dictionary中检索值的最有效和最有价值的方法是通过键查找。这只是猜测,但如果C#中不支持对值集合进行索引,只是为了引导您朝着正确的方向前进并防止滥用,我不会感到惊讶。