public static int NormalizeArrayIndex(Array array, int index) { return index < 0 ? Math.Max(0, index + array.Length) : Math.Min(index, array.Length); }