Python-подобное словарное объявление для C #? - PullRequest
12 голосов
/ 08 сентября 2011

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

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

В C # это более многословно:

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

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

1 Ответ

22 голосов
/ 08 сентября 2011

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

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

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

Не совсем Pythonic, но добраться туда!

...