相关疑难解决方法(0)

检查两个列表是否相等

我有一个课程如下:

public class Tag {
    public Int32 Id { get; set; }
    public String Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我有两个标签列表:

List<Tag> tags1;
List<Tag> tags2;
Run Code Online (Sandbox Code Playgroud)

我使用LINQ的select来获取每个标签列表的ID.然后:

List<Int32> ids1 = new List<Int32> { 1, 2, 3, 4 };
List<Int32> ids2 = new List<Int32> { 1, 2, 3, 4 };
List<Int32> ids3 = new List<Int32> { 2, 1, 3, 4 };
List<Int32> ids4 = new List<Int32> { 1, 2, 3, 5 };
List<Int32> ids5 = new List<Int32> { 1, 1, …
Run Code Online (Sandbox Code Playgroud)

c# linq

156
推荐指数
3
解决办法
20万
查看次数

良好的GetHashCode()覆盖了关于订单的Foo对象列表

EnumerableObject : IEnumerable<Foo>

包裹一个 List<Foo>

如果EnumerableObject a.SequenceEquals( EnumerableObject b),那么他们是平等的.

因此,GetHashCode必须实施.问题是XORing列表中的每个元素将返回任何列表的相同哈希码,所有列表都包含所有且只有相同的元素,而不管顺序如何.就工作而言,这是好的,但会导致许多冲突,这将减慢检索速度等.

GetHashCode对于依赖于顺序的对象列表,什么是一种好的,快速的方法?

c# algorithm hashcode gethashcode

30
推荐指数
3
解决办法
2万
查看次数

标签 统计

c# ×2

algorithm ×1

gethashcode ×1

hashcode ×1

linq ×1