私はこのような2次元配列を持っています:
double[,] results = new double[100,100];
配列のすべての1次元部分を、パラメーターとしての関数に渡したいと思います。
for (int i = 0; i < 100; i++){
cool_function (results[???], 10);
}
C#でこれを行うにはどうすればよいですか?
私はこのような2次元配列を持っています:
double[,] results = new double[100,100];
配列のすべての1次元部分を、パラメーターとしての関数に渡したいと思います。
for (int i = 0; i < 100; i++){
cool_function (results[???], 10);
}
C#でこれを行うにはどうすればよいですか?
ソース ジャグ配列は配列の配列です。ジャグ配列の要素は他の配列です。
ジャグ配列の宣言
ジャグ配列の宣言には、2つの角かっこが含まれます。たとえば、次のコードスニペットは、配列の3つの項目を持つジャグ配列を宣言しています。
int[][] intJaggedArray = new int[3][];
次のコードスニペットは、配列の2つの項目を持つジャグ配列を宣言しています。
string[][] stringJaggedArray = new string[2][];
ジャグ配列の初期化
ジャグ配列を使用する前に、その項目を初期化する必要があります。次のコードスニペットは、ジャグ配列を初期化します。2つの整数を持つ整数の配列を持つ最初のアイテム、4つの整数を持つ整数の配列を持つ2番目のアイテム、および6つの整数を持つ整数の配列を持つ3番目のアイテム。
// Initializing jagged arrays
intJaggedArray[0] = new int[2];
intJaggedArray[1] = new int[4];
intJaggedArray[2] = new int[6];
配列の項目の値を指定することにより、ジャグ配列の項目を初期化することもできます。次のコードスニペットは、宣言中に配列のアイテムを直接初期化します。
// Initializing jagged arrays
intJaggedArray[0] = new int[2]{2, 12};
intJaggedArray[1] = new int[4]{4, 14, 24, 34};
intJaggedArray[2] = new int[6] {6, 16, 26, 36, 46, 56 };
配列の対応する部分をコピーせずにそれを行うことはできません。
それ以外の場合は、を使用できますdouble[][]
。初期化するには:
double[][] results = new double[100][];
for(int i = 0; i < 100; i++)
results[i] = new double[100];
サイズyのx配列の関数を呼び出したい配列myarray[x][y]の場合、必要なのは次のコードだけです。
int i;
for (i = 0; i < 100; i++)
{
cool_function(array[i], 10);
}
Type[][]
これは、の代わりにジャグ配列を使用して行うことができますType[,]
。この場合、パスするだけarray[index]
です。それ以外の場合は、対象のサブ配列のインデックスと一緒に2次元配列を渡し、呼び出されたメソッドでインデックスを作成するか、対象のサブ配列のコピーを作成する必要があります。