使用索引数组访问数组

本文关键字:数组 访问 索引 | 更新日期: 2023-09-27 18:21:17

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

例如:

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]

我一直在四处寻找,但我发现最好的是"如何在[此处插入编程语言]中访问数组"或"如何从[此处插入数组类型]中访问元素"之类的内容。

使用索引数组访问数组

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

这里有一个想法

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

比方说,你想访问地图中的第26个元素(从地图的开头,从上到下,从左到右),

所以,你的坐标函数接受26作为一个参数,并且,

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

map[26]转换为map[1, 5],返回其值

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