首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SortedDictionary ContainsKey方法错误?

SortedDictionary ContainsKey方法错误?
EN

Stack Overflow用户
提问于 2012-03-20 15:49:34
回答 1查看 957关注 0票数 1

所以基本上我有这样的东西:

代码语言:javascript
复制
private SortedDictionary<Priority, List<String>> example = new SortedDictionary<Priority, List<String>>(new PriorityComparer());

public void Submit(Priority priority, String test)
{
    if (!example.ContainsKey(priority))
    {
        example.Add(priority, new List<String> { test });
        // adds an entry with the key (Priority.Low) twice, why?
    }
    else
    {
        example[priority].Add(test); // never called
    }
}

仅仅是提交一堆测试元素:

代码语言:javascript
复制
Submit(Priority.Critical, "test4");
Submit(Priority.Low, "test");
Submit(Priority.Normal, "test3");
Submit(Priority.Low, "test2");

优先级只是一个枚举,优先级范围从低(0)到关键(10)。这只是一个典型的枚举,没什么特别的。

优先级比较器:

代码语言:javascript
复制
public class PriorityComparer : IComparer<Priority>
{
    public int Compare(Priority x, Priority y)
    {
        if (x > y)
        {
            return -1;
        }
        else
        {
            return 1;
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-20 15:51:30

您的比较实现不完整。当x返回y( == 0)时,你遗漏了大小写。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9783063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档