ギザギザ配列とは(c#)? 例といつ使用する必要がありますか....
7 に答える
ジャグ配列は、配列の配列です。
string[][] arrays = new string[5][];
これは 5 つの異なる文字列配列のコレクションであり、それぞれが異なる長さである可能性があります (同じ長さである可能性もありますが、重要なのは、それらが同じであるという保証がないということです)。
arrays[0] = new string[5];
arrays[1] = new string[100];
...
これは、長方形の 2D 配列とは異なります。つまり、各行には同じ数の列があります。
string[,] array = new string[3,5];
ジャグ配列はどの言語でも同じですが、2 番目以降の配列で配列の長さが異なる 2 次元以上の配列がある場合です。
[0] - 0, 1, 2, 3, 4
[1] - 1, 2, 3
[2] - 5, 6, 7, 8, 9, 10
[3] - 1
[4] -
[5] - 23, 4, 7, 8, 9, 12, 15, 14, 17, 18
最良の回答は質問の所有者によって選択されますが、ギザギザの配列をより明確にするために次のコードを提示したいと思います。
using System;
class Program
{
static void Main()
{
// Declare local jagged array with 3 rows.
int[][] jagged = new int[3][];
// Create a new array in the jagged array, and assign it.
jagged[0] = new int[2];
jagged[0][0] = 1;
jagged[0][1] = 2;
// Set second row, initialized to zero.
jagged[1] = new int[1];
// Set third row, using array initializer.
jagged[2] = new int[3] { 3, 4, 5 };
// Print out all elements in the jagged array.
for (int i = 0; i < jagged.Length; i++)
{
int[] innerArray = jagged[i];
for (int a = 0; a < innerArray.Length; a++)
{
Console.Write(innerArray[a] + " ");
}
Console.WriteLine();
}
}
}
出力は次のようになります。
1 2
0
3 4 5
ジャグ配列は、さまざまな長さの行にデータを格納するために使用されます。
詳細については、MSDN ブログのこの投稿を確認してください。
詳細については、http : //msdn.microsoft.com/en-us/library/2s05feca.aspxを参照してください。
また :
ジャグ配列は、要素が配列である配列です。ジャグ配列の要素は、さまざまな次元とサイズにすることができます。ジャグ配列は、「配列の配列」と呼ばれることがあります。次の例は、ジャグ配列を宣言、初期化、およびアクセスする方法を示しています。
以下は、それぞれが整数の 1 次元配列である 3 つの要素を持つ 1 次元配列の宣言です。
jaggedArray[0] = new int[5];
jaggedArray[1] = new int[4];
jaggedArray[2] = new int[2];
また
jaggedArray[0] = new int[] { 1, 3, 5, 7, 9 };
jaggedArray[1] = new int[] { 0, 2, 4, 6 };
jaggedArray[2] = new int[] { 11, 22 };
ジャグ配列は、他の配列が含まれている配列です。
ジャグ配列とは、行数が固定で列数が固定されていない配列です。
ウィンドウ フォーム アプリケーション用の C# のジャグ配列のコード
int[][] a = new int[3][];
a[0]=new int[5];
a[1]=new int[3];
a[2]=new int[1];
int i;
for(i = 0; i < 5; i++)
{
a[0][i] = i;
ListBox1.Items.Add(a[0][i].ToString());
}
for(i = 0; i < 3; i++)
{
a[0][i] = i;
ListBox1.Items.Add(a[0][i].ToString());
}
for(i = 0; i < 1; i++)
{
a[0][i] = i;
ListBox1.Items.Add(a[0][i].ToString());
}
上記のプログラムでわかるように、行数は 3 に固定されていますが、列数は固定されていません。したがって、列の 3 つの異なる値、つまり 5、3、および 1 を取得しました。ListBox1
このコードで使用されるキーワードは、ウィンドウ フォームで使用するリストボックス用であり、ボタンをクリックして結果を表示します。ウィンドウフォーム。ここで行われるすべてのプログラミングはボタン上にあります。