C# 和 VB.Net 之间的字典区别
Dictionary Difference between C# and VB.Net
为什么如果我在 C# 中有一个 Dictionary<string, MyClass> myDic
我做不到
myDic.Values[1]
因为它不能索引字典而不是 Vb.Net 允许我做
myDic.Values(1)
? C# 字典和 VB.Net 之间有什么区别吗?
不,简短的回答是您不能将索引应用于 C# Dictionary<>.ValueCollection.
正如下面评论中提到的,最接近的 C# 相关性是使用 myDict.Values.ElementAtOrDefault(1)
检索值,因为如果值不存在,它将安全地 return 默认值,这与 VB.Net行为。也就是说,这可能表示滥用字典,特别是因为不能保证顺序。
通常,从字典中检索值的最有效和最有价值的方法是通过键查找。这只是猜测,但如果 C# 不支持值集合的索引只是为了引导您朝着正确的方向并防止滥用,我也不会感到惊讶。
为什么如果我在 C# 中有一个 Dictionary<string, MyClass> myDic
我做不到
myDic.Values[1]
因为它不能索引字典而不是 Vb.Net 允许我做
myDic.Values(1)
? C# 字典和 VB.Net 之间有什么区别吗?
不,简短的回答是您不能将索引应用于 C# Dictionary<>.ValueCollection.
正如下面评论中提到的,最接近的 C# 相关性是使用 myDict.Values.ElementAtOrDefault(1)
检索值,因为如果值不存在,它将安全地 return 默认值,这与 VB.Net行为。也就是说,这可能表示滥用字典,特别是因为不能保证顺序。
通常,从字典中检索值的最有效和最有价值的方法是通过键查找。这只是猜测,但如果 C# 不支持值集合的索引只是为了引导您朝着正确的方向并防止滥用,我也不会感到惊讶。