Why not use a class that inherits from Dictionary
?
public class PairDictionary : Dictionary
{
}
private static void Main(string[] args)
{
var temp = new PairDictionary
{
{0, "bob"},
{1, "phil"},
{2, "nick"}
};
Console.ReadKey();
}
You could also create your own collection (I suspect it is the case because you have the same Value1
for two items, so T1
doesn't act as a key in your example) that do not inherit from Dictionary
.
If you want to use the syntactic sugar of collection initializer, you would have to provide a Add
method that takes 2 arguments (T1
and T2
which are int
and string
in your case).
public void Add(int value1, string value2)
{
}
See Custom Collection Initializers