2016-08-22 41 views
0

有人可以幫我弄清楚爲什麼我在下面的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])); 
+1

這是什麼'umap'這裏是如何定義的 –

+0

我假設'xN'和'yN'是'int's。什麼是'umap'? – smarx

+1

'umap'是一個'bool [,]' – user6048670

回答

1

變化!umap(pair[0], pair[1])!umap[pair[0], pair[1]]

每以上您的意見,這是一個二維數組,但你試圖調用它,就好像它是一個方法。要索引到數組中,請使用方括號。

+0

哎呀。這基本上是我的一個類型。 – user6048670

相關問題