получение значений из многомерного массива с использованием точки

#c# #arrays #multidimensional-array

#c# #массивы #многомерный массив

Вопрос:

У меня есть такой многомерный массив :

 int[,] map = new int[4,4];
  

и я использую много точек в своем коде, поэтому, когда мне нужно значение массива :

 void Something(Point start){
    int val = map[start.X, start.Y];
    // the rest of the code
}
  

В любом случае, я могу просто получить требуемое значение из моего массива, используя точку напрямую, как это :

 int val = map[start];
  

Комментарии:

1. msdn.microsoft.com/en-us/library/xfhwa508 (v = против 110).aspx

Ответ №1:

Если вы используете .NET 3.5 , вы можете создать метод расширения для получения данных:

 public static class ExtensioMethods
{
    public static int Get(this int[,] array, Point p)
    {
        return array[p.X, p.Y];
    }
}
  

И используйте это в своем коде следующим образом:

 int val = map.Get(start);