繁体   English   中英

为什么 IEqualityComparer 不能按预期工作?

Why IEqualityComparer doesn't work as expected?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

为什么 EqualityComparer MyEqComp不起作用? 它应该只在arr中留下 2 个具有相同Values的元素 - myDic["1"]myDic["3"]Value="456" 但它由myDic["1"]myDic["2"]组成,但它们的值不相等。 Function GetHashCode为第一个和第三个元素返回相同的 hash 代码!

public class Program
    {
        public static Dictionary<string,string> myDic = new Dictionary<string,string>();
        public static void Main()
        {
            myDic.Add("1","456");
            myDic.Add("2","567");
            myDic.Add("3","456");
            var arr=myDic.Distinct(new MyEqComp());
            foreach (var n in arr)
            {
                Console.WriteLine("key="+n.Key+",value="+n.Value+"\n");
            }
        
        }
        class MyEqComp:IEqualityComparer<KeyValuePair<string,string>>{
            public bool Equals(KeyValuePair<string,string> pair1, KeyValuePair<string,string> pair2){
                Console.WriteLine("pair1="+pair1+",pair2="+pair2);
                return pair1.Value == pair2.Value;
            }
            public int GetHashCode(KeyValuePair<string,string> pair){
                var code = pair.Value.GetHashCode();
                Console.WriteLine("code="+code);
                return code;
            }
        }
        
    }

和 output

code=-121858068
key=1,value=456

code=437991364
key=2,value=567

code=-121858068
pair1=[1, 456],pair2=[3, 456]
问题暂未有回复.您可以查看右边的相关问题.
1 setprecision()不能按预期工作

我正在做一个程序,该程序首先从用户那里获取2个数字(带有float数据类型),然后询问用户有关他想要将数字除以哪个数字,最后将其除以该数字并'cout &lt;&lt; '它。 当我计算22/7(这是一个非理性的数字)时,它编译了但没有达到标准。 最多可计算100个数字,最多可计算30或40 ...

2 LINQ Any()不能按预期工作

我正在与我认为将是一个简单查询的问题作斗争... 架构就像 : Documents (文件ID,名称) Industries (IndustryID,名称) Documents_Industries (文档ID,行业ID) 数据就像 : DocA-Industry ...

5 为什么 canplaythrough 不能按预期工作

这是我们在www.w3school 中作为参考的内容: canplaythrough 事件发生在浏览器估计它可以播放指定的音频/视频而不必停止缓冲时。 这是开发人员 mozilla参考: 当用户代理可以播放媒体时会触发 canplaythrough 事件,并估计已经加载了足够的数据 ...

6 getItemViewType不能按预期工作

我试图创建一个RecycleView来显示更多对象,但是由于某种原因,funcion getItemViewType不起作用,或者它可能起作用,但是仅选择第二个选项是因为onCreateViewHolder的输出始终是第一个选项。 这是方法中的功能 这是适配器即使我先将getItemViewT ...

8 jQuery not function不能按预期工作

我用下面的代码来切换div的类。 上面的代码将未选择的类切换到除当前单击的元素之外的所有其他div。 因此,我希望div也不应切换包含“ test-member”类的对象 能做到这一点吗? 任何人都对此进行调查,并告诉我您的想法,谢谢。 ...

9 sendRedirect()不能按预期工作

我有这个Register.jsp页面,该页面在页面加载时,我想检查用户是否已经登录。所以我有这段代码, 它的工作原理,当一个用户登录(重定向到studenthome.jsp如果usertype等于student和重定向到facultyhome.jsp如果usertype等于faculty ...

2014-06-08 03:56:14 2 72   java/ jsp
10 NSURLSession HTTPMaximumConnectionsPerHost不能按预期工作

我正在尝试下载.m3u8视频的.ts文件。 我已经为每个.ts网址创建了下载任务,并将会话配置HTTPMaximumConnectionsPerHost属性设置为4: 预期的行为:只能同时下载4 ts,并且一旦完成这些下载中的任何一个,下一个下载项目将被放入队列,以便在任何时候最多 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM