C# 在数组边界以外的某一步继续迭代数组

C# 在数组边界以外的某一步继续迭代数组,c#,arrays,loops,C#,Arrays,Loops,我正在寻找一种方法,以特定的方向(左或右)以特定的步长(>=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 <

我正在寻找一种方法,以特定的方向(左或右)以特定的步长(>=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
}
int-step=2;
对于(int i=0;i<?;i+=步长)
{
整数索引=(i%arr.Length);
//用索引做些什么
}

对于负阶跃,应添加
arr.Length
<代码>索引=(索引+步长+arr.Length)%arr.Length