web-dev-qa-db-fra.com

Comment utiliser un tuple en tant que clé dans un dictionnaire C #

J'ai un dictionnaire fieldTracker qui prend un Tuple<int, int> en tant que clé et string en tant que valeur. Cependant, je n'arrive pas à trouver le bon moyen d'accéder à la valeur. Voici mon code actuel:

for (int i = 0; i < 2; i++)
  {
    for (int j = 0; j < 5; j++)
      dict.Add(new Tuple<int, int>(i, j), "");
  }
  dict[(1,1)] = "Hello";

J'ai cherché un peu dans la documentation de Microsoft, mais je ne trouve pas la clé de ce problème.

7
JavaHR
dict[Tuple.Create(1, 1)] = "Hello";

ou avec C # 7 ValueTuple :

var dict = new Dictionary<(int, int), string>();
for (int i = 0; i < 2; i++)
{
    for (int j = 0; j < 5; j++)
        dict.Add((i, j), "");
}
dict[(1, 1)] = "Hello";
7
Rango

Vous pouvez essayer de cette façon.

        var dict = new Dictionary<Tuple<int, int>, string>();
        for (int i = 0; i < 2; i++)
        {
            for (int j = 0; j < 5; j++)
                dict.Add(Tuple.Create<int, int>(i, j), "Hello");
        }
        string val = dict[Tuple.Create<int, int>(1,1)];

J'espère que cela t'aides :) 

0
Jawand Singh