c#将多维数组添加到我的列表中

c#将多维数组添加到我的列表中,c#,list,multidimensional-array,C#,List,Multidimensional Array,我一直试图在我的2d数组网格中列出一个位置列表,其中网格的值是一个特定的数字,但我似乎无法正确理解代码的语法 int[,] Field = new int[n,n]; List<int[,]> lijst = new List<int[,]>(); for (int p = 0; p < n; p++) { for (int q = 0; q < n; q++) { Field[p, q] = 0; lijst.

我一直试图在我的2d数组网格中列出一个位置列表,其中网格的值是一个特定的数字,但我似乎无法正确理解代码的语法

int[,] Field = new int[n,n];
List<int[,]> lijst = new List<int[,]>();
for (int p = 0; p < n; p++)
{
    for (int q = 0; q < n; q++)
    {
        Field[p, q] = 0;
        lijst.Add(?????);
    }
}
int[,]字段=新的int[n,n];
List lijst=新列表();
for(int p=0;p
我就是找不到在这个地方输入什么???? 因为[p,q]似乎不起作用,(p,q)也不起作用

编辑: 抱歉字段是二维阵列栅格的名称

编辑2:
我将网格中的所有值都设置为0,因为如果我想读取网格,我想知道放置东西的位置,例如,当它为0时,它是空的,但当它为1或2时,它会在其中放置一块石头。我想写一个方法,扫描网格中哪些地方是空的,这样它会返回一个位置列表,而不是值。目前我发现了一个小小的偷偷摸摸的小步,但我不认为它是最好的,因为我相信它应该可以直接做,但还行, 我发现,如果你将p和q存储在一个为坐标而设计的数据结构中,然后列出这些坐标,你可以稍后通过获取位置和它们的指定坐标来检索它们

List<Plek> EmptyList()
    {
        List<Place> Pair = new List<Place>();

        for (int p = 0; p < n; p++)
        {
            for (int q = 0; q < n; q++)
            {
                if (Field[p, q] == 0)
                {
                    Place pair = new Place(p, q);
                    Pair.Add(pair);
                }
            }
        }

        return Pair;

    }

给定
n
的预期输出是什么?
字段
的用途是什么?如果希望
lijst
成为行/列坐标对的列表,则该数据类型错误。您需要
var coords=newlist()
Add坐标对,如下所示:
coords.Add(新元组(p,q))或者如果你在winforms中,或者在定义了
点的地方,听从将军的建议并使用它。或者
列表
为什么你要将
字段中的每个值都设置为零?如果你只想把[p,q]加进去,那么就这样做,
lijst.add(new int[p,q])
class Place
{
    public int X;
    public int Y;

    public Place(int x, int y)
    {
        this.X = x;
        this.Y = y;
    }
}