如果我有一个数组 1:1、21、30
当前大小为 3
如果我想将数组扩展为大小 n,并通过重复初始数组中的值来填充额外的索引,我该如何在 C# 中做到这一点?
例如,假设 n = 8,输出应该是一个值为 1、21、30、1、21、30、1、21 的数组
完全未经测试,但这应该让你开始:
int initialSize = myArr.Length
Array.Resize(ref myArr, 8);
for(int i = initialSize;i< myArr.Length; i++)
{
myArr[i] = myArr[ i % initialSize ];
}
如果您使用模数,您可以在构建最终数组时在初始数组中找到正确的元素。
const int[] patternArray = { 1, 21 , 30 };
int[] array = new int[n];
for (int i = 0; i < n; i++){
int patternIdx = i % 3;
array[I] = patternArray[patternIdx];
}
注意:我在我的手机上写了这个,所以对任何小的语法问题表示歉意。
使用泛型List<T>
来存储您的数组以允许它根据需要增长。您可以使用其AddRange()方法添加多个值。