我有一個數組:最優雅的方式來獲取數組元素的位置?
private int[,] _blocks = new int[6, 4];
它代表一組塊,其是6深水平和4深垂直的。圖形它看起來像這樣:
alt text http://www.angryhacker.com/toys/array.png
我需要,將採取在一個編號,從1到24,並返回匹配的數組元素的功能。所以對於14號,我會回來_blocks [1,2];
我創建了一個簡單的功能:
private int GetBlockByPosition(int position)
{
int count = 0;
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 4; j++)
{
if (++count == position)
return _blocks[i, j];
}
}
return -1;
}
但這似乎非常浪費和味道不好。有沒有更優雅更快捷的方式?
這實際上是http://stackoverflow.com/questions/1817631/的副本。 – jason 2009-12-03 02:10:36
你的數組是否真的總是填滿所顯示的數字,並按照這個確切的順序?或者僅僅是爲了演示的目的,實際上這些數字可以隨意改動? – 2009-12-03 02:14:35