使用索引数组访问数组

时间:2012-01-25 13:04:08

标签: c# java arrays

我想知道,是否可以使用数组访问多维数组的特定元素,而不是多个整数。

例如:

int[,] map = sampleMap;
int[] position = { 1, 2 };

sampleObject = map[position]; // This line won't work. "cannot implicitly convert type 'int[]' to 'int'"

而不是:

sampleObject = map[position[1], position[2]]

当然,当只使用2个维度时,这不是什么大问题,但想象我有很多维度,比如10:

map[position[1], position[2], position[3], ..., position[10]]

只需写下来就会更好,更优雅:

map[position]

我一直在寻找,但我找到的最好的是“如何在[在此插入编程语言]中访问数组”或“如何从[在此处插入数组类型]中访问元素”或类似的东西。

2 个答案:

答案 0 :(得分:5)

查看Array.GetValue(int[])方法

答案 1 :(得分:0)

这是一个思想

假设您的数组包含20行和20列。

让我们说,您想要访问地图中的第26个元素(从地图的开头,从上到下从左到右),

因此,您的坐标函数接受26作为参数,

26 / 20 = 1
26 % 20 - 1 = 5

map[26]翻译为map[1, 5],并返回其值

不太确定这对你有帮助, 只是一个想法!