c# 7.0 lets you do this:
var tupleList = new List<(int, string)> { (1, "cow"), (5, "chickens"), (1, "airplane") };
If you don’t need a List
, but just an array, you can do:
var tupleList = new(int, string)[] { (1, "cow"), (5, "chickens"), (1, "airplane") };
And if you don’t like “Item1” and “Item2”, you can do:
var tupleList = new List<(int Index, string Name)> { (1, "cow"), (5, "chickens"), (1, "airplane") };
or for an array:
var tupleList = new (int Index, string Name)[] { (1, "cow"), (5, "chickens"), (1, "airplane") };
which lets you do: tupleList[0].Index
and tupleList[0].Name
Framework 4.6.2 and below
You must install System.ValueTuple
from the Nuget Package Manager.
Framework 4.7 and above
It is built into the framework. Do not install System.ValueTuple
. In fact, remove it and delete it from the bin directory.
note: In real life, I wouldn’t be able to choose between cow, chickens or airplane. I would be really torn.