C# 使用点从多维数组中获取值

C# 使用点从多维数组中获取值,c#,arrays,multidimensional-array,C#,Arrays,Multidimensional Array,我有一个多维数组,如下所示: int[,] map = new int[4,4]; int val = map[start]; 我在代码中使用了很多点,所以当我需要数组的值时: void Something(Point start){ int val = map[start.X, start.Y]; // the rest of the code } 我是否可以直接使用点从数组中获取所需值,如下所示: int[,] map = new int[4,4]; int val

我有一个多维数组,如下所示:

int[,] map = new int[4,4];
int val = map[start];
我在代码中使用了很多点,所以当我需要数组的值时:

void Something(Point start){
    int val = map[start.X, start.Y];
    // the rest of the code
}
我是否可以直接使用点从数组中获取所需值,如下所示:

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

如果您使用的是.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);