我有一个课程如下:
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) EnumerableObject : IEnumerable<Foo>
包裹一个 List<Foo>
如果EnumerableObject a.SequenceEquals( EnumerableObject b),那么他们是平等的.
因此,GetHashCode必须实施.问题是XORing列表中的每个元素将返回任何列表的相同哈希码,所有列表都包含所有且只有相同的元素,而不管顺序如何.就工作而言,这是好的,但会导致许多冲突,这将减慢检索速度等.
GetHashCode对于依赖于顺序的对象列表,什么是一种好的,快速的方法?