我正面臨以下問題:有一個網格,每個網格單元都有一個位置。這種網格的一個例子可能是下列之一:如何按網格的部分按平方數量進行分組?
_________________________________________
| | | | | |
| (0,0) | (1,0) | (2,0) | (3,0) | (4,0) |
|_______|_______|_______|_______|_______|
| | | | | |
| (0,1) | (1,1) | (2,1) | (3,1) | (4,1) |
|_______|_______|_______|_______|_______|
| | | | | |
| (0,2) | (1,2) | (2,2) | (3,2) | (4,2) |
|_______|_______|_______|_______|_______|
| | | | | |
| (0,3) | (1,3) | (2,3) | (3,3) | (4,3) |
|_______|_______|_______|_______|_______|
| | | | | |
| (0,4) | (1,4) | (2,4) | (3,4) | (4,4) |
|_______|_______|_______|_______|_______|
我需要創建,賦予了許多ň功能,最多產生的二次N×N個金額,數量組。例如,對於N = 2,每個組將包含至多2×2個單元,組1將包含[(0,0)(1,0)(0,1)(1,1)],組2 [(2 ,0)(3,0)(2,1)(3,1)],組3將只包含[(4,0)(4,1)],依此類推。我決定使用LINQ Group By函數,但是它需要一個lambda表達式,它必須計算一個必須與每個組相同的數字。因此,我正在看一個表達式,對於我的n = 2的問題,必須返回[(0,0)(1,0)(0,1)(1,1)]的相同數字,另一個數字爲[(2,0)(3,0)(2,1)(3,1)],對於[(4,0)(4,1)]而言是不同的一個,等等...
哪種的表達可以實現該屬性?
謝謝
爲了什麼,我想實現的,你的第一個解決方案工作得非常好,謝謝你!儘管如此,你使用了一個字符串作爲關鍵字。有什麼辦法可以把它變成一個整數並以同樣的方式工作?提前致謝。 –
是的。您可以通過數學計算將組鍵例如從「0_0」更改爲0(int)。我在上面的主文章中附加了一個例子。它所做的是直接計算網格中每個列的組編號,然後將其分組。 – Richard