将值分配给键类型为<Tuple <int,int> C#的Dictionary

尼克·高迪

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

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类型的键来更改字典中的元素?

犬儒

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

访问 Dictionary<Tuple, int>

通过将std :: tuple <int&,int>分配给const std :: tuple <int,int>&来延长其寿命

“int”类型的值不能分配给“Node<int> *”C/C++(513) 类型的实体

无法将类型“ Int”的值分配给类型“ Int?”

参数类型 'TupleEnumerableComparer<System.Tuple<int[],int[]>>' 不可分配给参数类型 'IEqualityComparer<System.Tuple<int[],int[]>>'

C#表达式树-允许将字节分配给int类型

无法将类型为int的值分配给类型为node的实体

无法将“Int”类型的值分配给“String”类型

按元组的元素对Dictionary <int,Tuple <int,int,int,string,int >>进行排序

将大值分配给int数据类型

将Integer类型分配给int

C将int分配给函数指针

C ++中的cin试图将字符串值分配给int变量?

将int值分配给char

怎么把List <Tuple <int,int >>转换成Dictionary <int,List <int >>?

无法将类型为Int的变量分配给定义为Int的枚举

Swift CoreData-无法将类型'Int'的值分配给类型'Int16'

快速操场中的错误:无法将类型“Int”的值分配给类型“[Int]”

从 Dictionary<int,List<Tuple<string,object>>> 到 Dictionary<int,List<Tuple<string,object,AnEnum>>> 使用 LINQ

TypeError:不可排序的类型:tuple()> int()

为HashSet <Tuple <T,int >>编写IEqualityComparator

PySpark-(tuple,int)值上的reduceByKey

无法将“ int”类型的值分配给“ String”类型的值?

错误:无法将“List<dynamic>”类型的值分配给“List<int>”类型的变量

获取“无法将类型 'CLLocationDegrees'(又名'Double')的值分配给类型'Int'”错误(Swift 4)

错误:无法将类型“ void *”的值分配给类型“ int **”的实体

swift无法将“Int”类型的值分配给“String”类型

无法将类型“ Int”的值分配给类型“ String?” 在(cellForRowAt)中使用Tableview

在 scanf 中使用 %c 并将值分配给 C 中的 int 变量?