private int GetArrayHashcode(Array array) { var hash = 0; foreach (var value in array) { var valueHashCode = GetValueHashCode(value); unchecked { hash = (13 * hash) + valueHashCode; } } return hash; }