C# Calculate Hash of List<T>
Here's a quick method that will generate a hash from a List of objects:
public int GetHashCodeOfList<T>(IEnumerable<T> list)
{
List<int> codes = new List<int>();
foreach (T item in list)
{
codes.Add(item?.GetHashCode() ?? 0);
}
codes.Sort();
int hash = 0;
foreach (int code in codes)
{
unchecked
{
hash *= 251; // multiply by a prime number
hash += code; // add next hash code
}
}
return hash;
}
No Comments