15

In Python one can do:

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

In C# it's more verbose:

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

How can I make this less verbose?

Aillyn
  • 23,354
  • 24
  • 59
  • 84

1 Answers1

26

You can use the collection initializer syntax (and implicit typing with var):

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

This code will actually be compiled down to the code you have above. Note that you (unfortunately) can't elide the constructor or the generic type arguments.

Not quite Pythonic, but getting there!

dlev
  • 48,024
  • 5
  • 125
  • 132