1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| static class Extensions
{
public static int[] IndexOf<T>(this T[,] array, T value)
{
return array.IndexOf(value, null);
}
public static int[] IndexOf<T>(this T[,] array, T value, IEqualityComparer<T> comparer)
{
comparer = comparer ?? EqualityComparer<T>.Default;
int rows = array.GetLength(0);
int cols = array.GetLength(1);
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
if (comparer.Equals(array[i, j], value))
return new[] { i, j };
}
}
return new[] { -1, -1 };
}
} |
Partager