Comment initialiser une liste de Tuples?

J'aime les tuples. Ils vous permettent de regrouper rapidement les informations pertinentes, sans avoir à écrire une structure ou classe. Ceci est très utile lors de refactoring très localisée code.

De l'initialisation d'une liste d'entre eux semble toutefois un peu redondant.

var tupleList = new List<Tuple<int, string>>
{
    Tuple.Create( 1, "cow" ),
    Tuple.Create( 5, "chickens" ),
    Tuple.Create( 1, "airplane" )
};

N'est-il pas une meilleure façon? J'aimerais une solution le long de la lignes de la Dictionnaire de l'initialiseur.

Dictionary<int, string> students = new Dictionary<int, string>()
{
    { 111, "bleh" },
    { 112, "bloeh" },
    { 113, "blah" }
};

Ne peut-on pas utiliser une syntaxe similaire?

  • Dans ce cas, pourquoi ne pas utiliser un dictionnaire au lieu d'une liste de Tuples?
  • S.: Un Dictionary n'autorise pas les doubles des clés.
  • À chaque fois c'est pas un deux-tuple où un élément est hashable/peut être commandé et unique.
  • Bon point, n'a pas remarqué le double de la clé.