array1 がある場合: 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()メソッドを使用して、複数の値を追加できます。