Most concise way to initialize a C# hashtable
本问题已经有最佳答案,请猛点这里访问。
C允许在一行表达式中填充哈希表吗?我在考虑类似于下面的python的东西:
1 | mydict = {"a": 23,"b": 45,"c": 67,"d": 89} |
换句话说,在单独的表达式中设置每个键值对是否有其他选择?
C 3有一个称为集合初始值设定项的语言扩展,它允许您在一个语句中初始化集合的值。
下面是使用
1 2 3 4 5 6 7 8 9 10 11 12 13 | using System; using System.Collections.Generic; class Program { static void Main() { var dict = new Dictionary<string, int> { {"a", 23}, {"b", 45}, {"c", 67}, {"d", 89} }; } } |
C 3编译器和任何实现
如果您感兴趣,我建议您阅读我在StackOverflow上问的这个问题,了解为什么C团队以这样一种奇怪的方式实现了这种语言扩展(一旦您阅读了这个问题的优秀答案,您会发现它很有意义)。