当前位置:  开发笔记 > 编程语言 > 正文

你可以在Dictionary集合或其他类型的集合中拥有2个以上的项目吗?

如何解决《你可以在Dictionary集合或其他类型的集合中拥有2个以上的项目吗?》经验,为你挑选了1个好方法。

我怀疑这是可能的,但我很好奇你是否可以在字典中有超过2项(键,值).也许一个关键和2个值.是否有一个允许这个的集合对象?我实际上要做的是存储键的键和值以及另一个值来保存键的找到次数.例如,我可能有一个遍历颜色列表的for循环,每种颜色都有一个唯一值.当我浏览列表时,我不仅要将颜色,颜色的唯一值存储在字典中,还要存储列表中出现红色的次数.

我输入了以下声明,现在我想弄清楚如何测试它是否已经包含值,如果没有,将它添加到列表中,计数为1,如果是,则增加计数.在我发布声明之后,我将用一个字典发布我是如何做到这一点的.

Dictionary> colors = 
                          new Dictionary>();

以下是我之前处理它的代码:

Dictionary colors = new Dictionary();

 foreach (Color color in ColorList)
        {
            if (colors.ContainsKey(color.ToString()))
                colors[color]++;
            else
                colors.Add(color, 1);
        }

womp.. 7

你可以创建一个简单的Tuple类,比如Triple.它本质上是一个通用键控字典,但包含一个额外的对象.这种情况非常普遍,人们已经制作了库,可以将其扩展到4到10个对象.这是一个例子:

    public struct Triple
    {
        public X First;     
        public Y Second;    
        public Z Third;     

        public Triple(X x, Y y, Z z)
        {
            First = x;
            Second = y;
            Third = z;
        }
    }

然后像这样使用它:

 var myTriple =  new Triple(
                        "key", 
                        myColor, 
                        count
                    )

,



1> womp..:

你可以创建一个简单的Tuple类,比如Triple.它本质上是一个通用键控字典,但包含一个额外的对象.这种情况非常普遍,人们已经制作了库,可以将其扩展到4到10个对象.这是一个例子:

    public struct Triple
    {
        public X First;     
        public Y Second;    
        public Z Third;     

        public Triple(X x, Y y, Z z)
        {
            First = x;
            Second = y;
            Third = z;
        }
    }

然后像这样使用它:

 var myTriple =  new Triple(
                        "key", 
                        myColor, 
                        count
                    )

,

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有