C#是否允许在单行表达式中填充哈希表?我正在考虑与以下Python相当的东西:
mydict = {"a": 23, "b": 45, "c": 67, "d": 89}
Run Code Online (Sandbox Code Playgroud)
换句话说,是否可以在单独的表达式中设置每个键值对?
And*_*are 75
C#3有一个名为collection initializers的语言扩展,它允许您在一个语句中初始化集合的值.
以下是使用以下示例Dictionary<,>:
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}
};
}
}
Run Code Online (Sandbox Code Playgroud)
C#3编译器以及实现IEnumerable并具有公共Add方法的任何类型都支持此语言扩展.
如果您有兴趣,我建议您阅读我在StackOverflow上询问的这个问题,为什么 C#团队以如此好奇的方式实现了这种语言扩展(一旦您阅读了问题的优秀答案,您将看到它会产生很多感).