递归访问数组元素(超出索引问题)

时间:2014-03-13 12:49:45

标签: c# asp.net arrays loops

假设:对于像A[r,c]这样的2维数组,

我需要为A[lastIndex,0]获取A[-1, lastIndex+1]。这里-1是firstIndex-1

我将用它进行比较,如:

 if (A[r, c] < A[r-1, c + 1] + A[r-1, c + 2])
 {
     execTime -= A[r, c];
 }  

并且不用说我得到了out of index问题。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用数组维度作为除法模数来导出索引:

A[(r-1 + A.GetLength(0)) % A.GetLength(0), c + 1]

对于r >= 1,这只是r-1,对于r == 0,这将为您提供A.GetLength(0) - 1,这是最后一个索引。