Python-подобная декларация словаря для С#?

В Python можно сделать:

d = {1 : 'Hello', 2 : 'World'}

В С# это более подробный:

Dictionary<int, string> d = new Dictionary<int, string>();
d.Add(1, 'Hello');
d.Add(2, 'World');

Как я могу сделать это менее подробным?

Ответы

Ответ 1

Вы можете использовать синтаксис инициализатора коллекциинеявная типизация с var):

var myDict = new Dictionary<int, string> { {1, "Hello"}, {2, "World"} };

Этот код будет фактически скомпилирован до кода, который вы указали выше. Обратите внимание, что вы (к сожалению) не можете исключить аргументы конструктора или общего типа.

Не совсем Pythonic, но попасть туда!