C#的类似Python的字典声明?

Ail*_*lyn 12 c# syntax dictionary syntactic-sugar

在Python中,可以做到:

d = {1 : 'Hello', 2 : 'World'}
Run Code Online (Sandbox Code Playgroud)

在C#中,它更详细:

Dictionary<int, string> d = new Dictionary<int, string>();
d.Add(1, 'Hello');
d.Add(2, 'World');
Run Code Online (Sandbox Code Playgroud)

我怎么能让这个更简洁?

dle*_*lev 22

您可以使用集合初始化程序语法(并使用隐式类型var):

var myDict = new Dictionary<int, string> { {1, "Hello"}, {2, "World"} };
Run Code Online (Sandbox Code Playgroud)

此代码实际上将编译为您上面的代码.请注意,您(遗憾的是)不能忽略构造函数或泛型类型参数.

不是Pythonic,而是到达那里!