
有没有办法如何将数组作为键,但比较其值而不是引用?
谢谢解决方法 您可以使用字典的 Comparer property将其设置为您创建的自定义比较器.
编辑:实际上该属性是只读的,抱歉.你应该使用正确的构造函数:
class IntArrayComparer : IEqualityComparer<int[]> { public bool Equals(int[] x,int[] y) { if (x.Length != y.Length) { return false; } for (int i = 0; i < x.Length; ++i) { if (x[i] != y[i]) { return false; } } return true; } public int GetHashCode(int[] obj) { int ret = 0; for (int i = 0; i < obj.Length; ++i) { ret ^= obj[i].GetHashCode(); } return ret; }}static voID Main(string[] args) { Dictionary<int[],bool> dict = new Dictionary<int[],bool>(new IntArrayComparer());} 总结 以上是内存溢出为你收集整理的c# – Dictionary – 比较数组中的值,而不是引用?全部内容,希望文章能够帮你解决c# – Dictionary – 比较数组中的值,而不是引用?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)