【发布时间】:2014-09-18 22:35:07
【问题描述】:
我编写代码来生成一个应该是图形编辑器的网格。网格值包含在字典中。这是我生成字典对象的方法,让您了解我正在使用的内容。
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
}
我有另一种方法,我想更改字典中的一个元素,因为我使用元组的键,我不知道在索引中提供什么来更改值。这是另一种方法。
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 类型的键来更改字典中的元素?
【问题讨论】:
-
你到底是什么意思?
dict[Tuple.Create(1, 2)] = value应该可以吗? -
@knittl 我只是想更改字典中的元素之一。但是因为我的字典是 Tuple
, string 我不知道输入什么来访问它的键。 -
您可以使用元组访问它,正如我在上面的评论中所写的那样
标签: c# dictionary tuples key-value