继续在超出其边界的某个步骤迭代数组

时间:2016-05-31 21:41:45

标签: c# arrays loops

我正在寻找一种在某个方向(左或右)以特定步骤(> = 1)迭代数组的方法。如果我离开数组的边界,我应该从另一侧进入,保持步长不变。有关图形表示,请参阅示例。 example

1 个答案:

答案 0 :(得分:1)

你在谈论圆形数组,其中索引超出了你从头开始的数组大小

  int[] arr = new arr[3]; 
  int i = 4;

    if (i > 0)
        int index  = (i % arr.Length) ; 

并采用步骤迭代格式

int step = 2;
for(int i=0; i < ? ; i+= step)
{
      int index  = (i % arr.Length) ; 
     // do something with index
}