using System.Collections.Generic;
static public void Main()
int[] ints = { 10001, 10002, 10003, 10004, 10005 };
int[] intsX = ints.Reverse().ToArray();
hash1 = GetHashCode(ints);
Console.WriteLine("hash1={0}", hash1);
hash2 = GetHashCode(intsX);
Console.WriteLine("hash2={0}", hash2);
Console.WriteLine("hash1==hash2 : {0}", hash1 == hash2);
static int GetHashCode(IEnumerable<int> integers)
IEnumerator<int> intEnum = integers.GetEnumerator();
if(intEnum.MoveNext()==false) return 0;
hash = intEnum.Current.GetHashCode();
for(;intEnum.MoveNext()==true;)
hash = 31 * hash + intEnum.Current.GetHashCode();