ホームページ  >  記事  >  バックエンド開発  >  C# の配列

C# の配列

王林
王林オリジナル
2024-09-03 15:11:33459ブラウズ

配列はオブジェクトのセットです。配列内に存在する要素は同じデータ型です。 int、float、char などが考えられます。C# の配列の概念は、異なる変数を作成して異なる値を格納する煩雑さを回避するために生まれました。

23 56 32 54 1
0 1 2 3 4

配列のインデックスは 0 から始まり、配列の特定のサイズに基づいて増加します。長さ 5 の配列がある場合、配列はインデックス 0 から始まり、インデックス 4 で終了します。したがって、配列の長さによって、その配列内の要素の数が定義されます。

C# では配列はどのように機能しますか?

C# では、配列の長さは固定または動的にすることができます。固定長の配列には、固定数の項目を格納できます。動的配列では、配列のメモリ割り当てが動的であるため、新しい項目が配列に追加されるとサイズが増加します。配列では、スタック メモリに配列の変数が格納されるのに対し、マネージド ヒープには要素が格納されます。 C# では、配列は System から派生します。配列クラス。整数配列がある場合、すべての要素はそれぞれの値を持ち、C# の配列は参照型であるため、要素は実際のオブジェクトへの参照を保持します。

C# で配列を作成する方法

配列の構文:

data_type [] name_of_array

1.配列の宣言

コード:

class Name
{
static void Main(string[]args)
{
Int32[] intarray;   //array declaration
}
}

コードの説明: 配列宣言の最初の部分は、配列内のオブジェクトの型を定義するデータ型です。 2 番目の部分は [] で、配列内のオブジェクトの数を定義します。次に配列の名前です。この場合は int 配列です

2.配列の初期化

コード:

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 番目の位置に値を割り当てることを意味します。

3. Array

の値を表示する

コード:

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# の配列の例

C# での例と結果は以下に表示されます

例 #1

コード:

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 にすべての値が表示されます。

出力:

C# の配列

例 #2

コード:

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 つの要素で宣言され、ループを使用して配列の要素にアクセスします。

出力:

C# の配列

例 #3

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# の配列

C# の配列の型

C# には複数の種類の配列があります。

  1. 一次元配列
  2. 多次元配列
  3. ギザギザの配列

上記の例は単一次元配列です。

多次元配列

長方形配列または多次元配列では、データは表形式で保存されます。

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 ですべての値が表示されます。

出力:

C# の配列

ギザギザ配列

ギザギザ配列の要素は配列を直接格納するため「配列」となります。

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();
}
}
}
}

出力:

C# の配列

例 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();
}
}
}
}

出力:

C# の配列

C# の配列のメソッド

以下の点は次のとおりです。

  1. Clear(Array, Int32, Int32): This method is used to set the element range to default based on the type of element.
  2. Clone(): This method is used to create a copy of the element.
  3. Copy(Array, Array, Int32): This method is used to copy the elements of one array to another array.
  4. Equals(Object): This method basically checks if the mentioned object is equal to the current object.
  5. Sort(Array): This method is used to sort the array.
  6. CreateInstance(Type, Int32): This method is used to create an array of a specific type, length, and size.
  7. ToString(): This is used to display string representation.
  8. GetType(): This method is used to return the type of object.
  9. IndexOf(Array, Object): This method is used to search the particular object and return the first occurrence index in a 1D array.
  10. Reverse(Array): This method is used to reverse the sequence of the elements.
  11. SetValue(Object, Int32): This method in the 1D array is used to set the value of an element.

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:

C# の配列

Conclusion

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:C# foreach ループ次の記事:C# foreach ループ