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