配列はオブジェクトのセットです。配列内に存在する要素は同じデータ型です。 int、float、char などが考えられます。C# の配列の概念は、異なる変数を作成して異なる値を格納する煩雑さを回避するために生まれました。
23 | 56 | 32 | 54 | 1 |
0 | 1 | 2 | 3 | 4 |
配列のインデックスは 0 から始まり、配列の特定のサイズに基づいて増加します。長さ 5 の配列がある場合、配列はインデックス 0 から始まり、インデックス 4 で終了します。したがって、配列の長さによって、その配列内の要素の数が定義されます。
C# では、配列の長さは固定または動的にすることができます。固定長の配列には、固定数の項目を格納できます。動的配列では、配列のメモリ割り当てが動的であるため、新しい項目が配列に追加されるとサイズが増加します。配列では、スタック メモリに配列の変数が格納されるのに対し、マネージド ヒープには要素が格納されます。 C# では、配列は System から派生します。配列クラス。整数配列がある場合、すべての要素はそれぞれの値を持ち、C# の配列は参照型であるため、要素は実際のオブジェクトへの参照を保持します。
配列の構文:
data_type [] name_of_array
コード:
class Name { static void Main(string[]args) { Int32[] intarray; //array declaration } }
コードの説明: 配列宣言の最初の部分は、配列内のオブジェクトの型を定義するデータ型です。 2 番目の部分は [] で、配列内のオブジェクトの数を定義します。次に配列の名前です。この場合は int 配列です
コード:
class Name { static void Main(string[]args) { Int32[] Intarray; //array declaration Intarray = new Int32[4]; // array initialization Intarray[0]= 23; // assigning values to the elements Intarray[1]=5; Intarray[2]=88; Intarray[3]=6; } }
コードの説明: 配列の初期化では、角括弧を使用して配列内の値の数を指定し、それらの値を各配列要素に割り当てる必要があります。したがって、ここで、intarray[0] は最初の位置に値を割り当てることを意味し、intarray[1] は 2 番目の位置に値を割り当てることを意味します。
コード:
class Name { static void Main(string[]args) { Int32[] Intarray; //array declaration Intarray = new Int32[4]; //array initialization Intarray[0]= 23; //assigning values to array Intarray[1]=5; Intarray[2]=88; Intarray[3]=6; Console.WriteLine(Intarray[0]); Console.WriteLine(Intarray[1]); Console.WriteLine(Intarray[2]); Console.WriteLine(Intarray[3]); Console.ReadKey(); } }
コードの説明: Console.WriteLine は、配列の各値をコンソールに表示するメソッドです。
C# での例と結果は以下に表示されます
コード:
using System; namespace ArrayDemo { class Name { static void Main(string[] args) { Int32[] Intarray; // array declaration Intarray = new Int32[4]; // array initialization Intarray[0] = 23; // assigning values to the array element Intarray[1] = 5; Intarray[2] = 88; Intarray[3] = 6; Console.WriteLine(Intarray[0]); Console.WriteLine(Intarray[1]); Console.WriteLine(Intarray[2]); Console.WriteLine(Intarray[3]); Console.ReadKey(); } } }
上記のコードでは、配列が 4 つの要素で宣言および初期化され、Console.WriteLine にすべての値が表示されます。
出力:
コード:
using System; namespace Demo { class Array { static void Main(string[] args) { int[] arr = new int[4] { 10, 20, 30, 40 }; for (int i = 0; i < arr.Length; i++) // Traverse array elements { Console.WriteLine(arr[i]); } } } }
上記のコードでは、配列が初期化され、4 つの要素で宣言され、ループを使用して配列の要素にアクセスします。
出力:
foreach を使用して配列の要素にアクセスすることもできます
コード:
using System; namespace Demo { class Array { static void Main(string[] args) { int[] arr = new int[4] { 10, 20, 30, 40 }; foreach (int i in arr) { Console.WriteLine(i); } } } }
出力:
C# には複数の種類の配列があります。
上記の例は単一次元配列です。
長方形配列または多次元配列では、データは表形式で保存されます。
Int[,] intArray = new int[4,3]
ここでは、4 行 3 列の配列のサイズを指定しました。
1.多次元配列の宣言
int[,] array = new int[3,3]; //declaration of 2D array int[,,] array=new int[3,3,3]; //declaration of 3D array
2.多次元配列
の初期化int[,] array = new int[3,3]; //declaration of 2D array array[0,1]=10; //initialization array[1,2]=20; array[2,0]=30;<c/ode>
多次元配列の例
コード:
using System; namespace Demo { class Array { public static void Main() { int[,] intArray = new int[3, 2]{ {1, 2}, {2, 4}, {4, 8} }; Console.WriteLine(intArray[0, 0]); Console.WriteLine(intArray[0, 1]); Console.WriteLine(intArray[1, 0]); Console.WriteLine(intArray[1, 1]); Console.WriteLine(intArray[2, 0]); Console.WriteLine(intArray[2, 1]); } } }
コードの説明: 上記のコードでは、行と列が 3 行 4 列で指定され、Console.WriteLine ですべての値が表示されます。
出力:
ギザギザ配列の要素は配列を直接格納するため「配列」となります。
1.ギザギザ配列の宣言
int[][] array = new int[3][];
最初の括弧はサイズを示し、2 番目の括弧は配列の次元を示します。
2.初期化とギザギザ配列への値の代入
array[0] = new int[4] { 1, 2, 3, 4 }; array[1] = new int[5] { 1, 2, 3, 4,5 };
要素のサイズは異なる場合があります。
以下はギザギザ配列の例です:
例 1
コード:
using System; namespace Demo { class Array { public static void Main() { int[][] array = new int[2][];// Declare the array array[0] = new int[] { 1, 2, 6, 8 };// Initialize the array array[1] = new int[] { 72, 51, 47, 23, 54, 13 }; // Traverse array elements for (int i = 0; i < array.Length; i++) { for (int j = 0; j < array[i].Length; j++) { System.Console.Write(array[i][j] + " "); } System.Console.WriteLine(); } } } }
出力:
例 2
コード:
using System; namespace Demo { class Array { public static void Main() { int[][] array = new int[3][]{ new int[] { 51, 22, 43, 87 }, new int[] { 2, 3, 4, 56, 94, 23 }, new int[] { 4, 5 } }; // Traverse array elements for (int i = 0; i < array.Length; i++) { for (int j = 0; j < array[i].Length; j++) { System.Console.Write(array[i][j] + " "); } System.Console.WriteLine(); } } } }
出力:
以下の点は次のとおりです。
Example
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ArrayMethod { class Program { static void Main(string[] args) { int[] arr = new int[6] { 5, 8, 9, 25, 0, 7 }; // Creating an empty array int[] arr2 = new int[6]; Console.WriteLine("length of first array: " + arr.Length); // length of array Array.Sort(arr); //sorting array elements Console.Write("Sorted array elements: "); PrintArray(arr); Array.Copy(arr, arr2, arr.Length); // copy elements of one array to other Console.Write("Second array elements: "); PrintArray(arr2); Console.WriteLine("Get Index:\t{0}", Array.IndexOf(arr, 9)); // index of value Array.Reverse(arr); Console.Write("\nFirst Array elements in reverse order: "); // reverse the elements of array PrintArray(arr); Array.Clear(arr, 0, 6); //set default value of elements PrintArray(arr); } static void PrintArray(int[] arr) { foreach (int i in arr) { Console.Write("\t{0}", i); } Console.WriteLine("\n"); } } }
Code Explanation: The above code shows several methods of the array in which arr. Length is used to get the length which is equal to 6, Array. Sort gives the values in sorted form. Array. Copy copies the values from the first array to the second array. Array. The reverse displays the array in reverse order, whereas Clear sets the default values of the elements.
Output:
So it is better to declare one array variable instead of declaring too many different variables as elements in the memory are stored sequentially, which makes it faster. Also, it’s easy to traverse, manipulate and sort the data by using arrays.
以上がC# の配列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。