如何在字典C#中使用元组作为键

时间:2018-09-07 10:14:17

标签: c# dictionary tuples

我有一个字典fieldTracker,它以Tuple<int, int>作为键,而string作为值。但是,我似乎找不到正确的方法来获取价值。这是我当前的代码:

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";

我已经在Microsoft文档中进行了一些搜索,但是找不到解决此问题的

2 个答案:

答案 0 :(得分:10)

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

或使用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";

答案 1 :(得分:0)

您可以尝试这种方式。

        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)];

希望这会有所帮助:)