C#中的循环数组

时间:2016-03-28 07:45:26

标签: c# arrays round-robin

我正在尝试制作一个循环阵列。如果我在循环中为这个数组提供一堆值,并且我点击数组的末尾(假设它的长度为10),我将如何循环到第一个索引?

1 个答案:

答案 0 :(得分:10)

循环时,使用模块代数来计算数组的索引:

   myArray[index % myArray.Length]

样品

  int[] myArray = new int[10];

  // Round robin feeding; trying to put 0, 1, .. 13 into int[10]:
  for (int i = 0; i < 14; ++i) // note 14 > 10 
    myArray[i % myArray.Length] = i; // i % myArray.Length - modular arithmetics

  // Test
  // 10, 11, 12, 13, 4, 5, 6, 7, 8, 9
  // note that first 4 values (10, 11, 12, 13) are overriden
  Console.Write(String.Join(", ", myArray));