gpt4 book ai didi

c# - 将值分配到键类型为 C# 的字典中

转载 作者:行者123 更新时间:2023-11-30 14:10:14 25 4
gpt4 key购买 nike

我编写代码来生成一个应该是图形编辑器的网格。网格值包含在字典中。这是我生成字典对象的方法,让您了解我正在使用什么。

public Dictionary<Tuple<int, int>, string> GenerateTable(int _x, int _y)
{
int total = _x * _y;
var grid = new Dictionary<Tuple<int, int>, string>(); //!Might need this later!

for (int i = 1; i <= _x; i++) // outer loop is column
{
for (int ii = 1; ii <= _y; ii++) // Inner loop is row -
{
grid.Add(Tuple.Create(i, ii), "O");
}
}
return grid; // Should have same amount of elements as int total
}

我有另一种方法,我想更改字典中的一个元素,因为我使用的是 Tuple 的键,我不知道在索引中提供什么来更改值。这是另一种方法。

 public void ColorPixel(Dictionary<Tuple<int, int>, string> _table, int _x, int _y, string _c)
{
foreach(var pixel in _table
.Where(k => k.Key.Item1 == _x && k.Key.Item2 == _y))
{

}


//var tbl = _table.
// Where(t => t.Key.Item1 == _x && t.Key.Item2 == _y)
// .Select(t => t.Value == _c);

}

有谁知道我如何通过访问 Tuple 类型的键来更改字典中的元素?

最佳答案

Tuple 类型是“结构上可比较的”。这意味着要访问由一个键控的字典中的值,您可以创建一个新的元组实例,并以您认为合适的任何方式访问该值(索引器、TryGetValue 等)。

var key = Tuple.Create(x, y);
var value = dictionary[key];

关于c# - 将值分配到键类型为 <Tuple<int,int> C# 的字典中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24983392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com