我有一个数组:最优雅的方式来获取数组元素的位置?
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