2

私はこのような2次元配列を持っています:

double[,] results = new double[100,100];

配列のすべての1次元部分を、パラメーターとしての関数に渡したいと思います。

for (int i = 0; i < 100; i++){
     cool_function (results[???], 10);
} 

C#でこれを行うにはどうすればよいですか?

4

4 に答える 4

2

ソース ジャグ配列は配列の配列です。ジャグ配列の要素は他の配列です。

ジャグ配列の宣言

ジャグ配列の宣言には、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 };
于 2013-01-27T22:55:08.713 に答える
2

配列の対応する部分をコピーせずにそれを行うことはできません。

それ以外の場合は、を使用できますdouble[][]。初期化するには:

double[][] results = new double[100][];
for(int i = 0; i < 100; i++)
    results[i] = new double[100];
于 2013-01-27T22:53:37.217 に答える
1

サイズyのx配列の関数を呼び出したい配列myarray[x][y]の場合、必要なのは次のコードだけです。

int i;

for (i = 0; i < 100; i++)
{
    cool_function(array[i], 10);
}
于 2013-01-27T22:54:50.210 に答える
1

Type[][]これは、の代わりにジャグ配列を使用して行うことができますType[,]。この場合、パスするだけarray[index]です。それ以外の場合は、対象のサブ配列のインデックスと一緒に2次元配列を渡し、呼び出されたメソッドでインデックスを作成するか、対象のサブ配列のコピーを作成する必要があります。

于 2013-01-27T23:01:15.413 に答える