Most concise way to initialize a C# hashtable [duplicate]
Solution 1:
C# 3 has a language extension called collection initializers which allow you to initialize the values of a collection in one statement.
Here is an example using a 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}
};
}
}
This language extension is supported by the C# 3 compiler and any type that implements IEnumerable
and has a public Add
method.
If you are interested I would suggest you read this question I asked here on StackOverflow as to why the C# team implemented this language extension in such a curious manner (once you read the excellent answers to the question you will see that it makes a lot of sense).