为什么我得到"表达式表示'变量',其中一个'方法组'expected"在这里

本文关键字:quot 一个 方法 在这里 expected 表达式 表示 为什么 变量 | 更新日期: 2023-09-27 18:03:17

有人能帮我弄清楚为什么我在下面的LINQ查询上得到编译器错误吗?

int[,] umap = /* initialize umap */;
int[][] surroundings = new int[][] {
    new int[] { x0 - 1, y0 }, new int[] { x0, y0 }, 
    new int[] {x0 + 1, y0}, new int[] { x0 - 1, y0 + 1}, 
    new int[] { x0, y0 + 1 }, new int[] {x0 + 1, y0 + 1},
    new int[] { x0 - 1, y0 - 1}, new int[] { x0, y0 - 1 }, 
    new int[] {x0 + 1, y0 - 1} 
};
var real = surroundings.Where(pair => pair[0] >= 0 && pair[0] < xN 
                                   && pair[1] >= 0 && pair[1] < yN
                                   && !umap(pair[0], pair[1]));

为什么我得到"表达式表示'变量',其中一个'方法组'expected"在这里

!umap(pair[0], pair[1])改为!umap[pair[0], pair[1]]

根据你上面的评论,它是一个二维数组,但你试图调用它,好像它是一个方法。