我见过很多关于在数组中查找指定元素位置的主题,但我无法将它们的解决方案应用到我的问题或找到合适的解决方案。
我有一个锯齿状的阵列:

double[][][] _distance = new double[_mapSize][_mapSize][1];
//incorrect, but for clarifying array's structure

我需要得到最小元素的索引。
如果
_distance[2][5][0]

是最低的,我需要得到“2”和“5”
提前谢谢!

最佳答案

尝试以下操作

Tuple<int, int, int> minimumIndex = null;
double minimumValue = Double.Max;

for (var i = 0; i < _mapSize; i++) {
  for (var j = 0; j < _mapSize; j++) {
    for (var k = 0; k < _lastDimension; k++) {
      var current = _distance[i][j][k];
      if (current <= minimumValue) {
        minimumValue = current;
        minimumIndex = Tuple.Create(i, j, k);
      }
    }
  }
}

Console.WriteLine("{0} {1} {2}", minimumIndex.Item1, minimumIndex.Item2, minimumIndex.Item3);

09-28 07:13