加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

将值分配到具有密钥类型C#的Dictionary中

发布时间:2020-12-16 02:02:39 所属栏目:百科 来源:网络整理
导读:我编写代码来生成一个应该是图形编辑器的网格.网格值包含在字典中.这是我生成字典对象的方法,可以让您了解我正在使用的内容. public DictionaryTupleint,int,string GenerateTable(int _x,int _y) { int total = _x * _y; var grid = new DictionaryTupleint
我编写代码来生成一个应该是图形编辑器的网格.网格值包含在字典中.这是我生成字典对象的方法,可以让您了解我正在使用的内容.

public Dictionary<Tuple<int,int>,string> GenerateTable(int _x,int _y)
        {
            int total = _x * _y;
            var grid = new Dictionary<Tuple<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,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);

        }

有没有人知道如何通过访问类型元组的键来更改字典中的元素?

解决方法

元组类型是“结构上可比的”.这意味着要访问由一个键入的字典中的值,您可以创建一个新的元组实例,并以您认为合适的方式访问该值(indexer,TryGetValue等).

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读