C# 配列
C# 配列
このチュートリアルでは、C# 配列について学習します。例を使って、配列の作成、初期化、およびアクセスを学びます。
配列は、類似したタイプのデータの集まりです。たとえば、
5 人の生徒の年齢を記録する必要があるとします。 5 つの個別の変数を作成する代わりに、単純に配列を作成できます:
<図>
1. C# 配列宣言
C# で配列を宣言する方法は次のとおりです。
datatype[] arrayName;
ここで、
dataType
-int
のようなデータ型 、string
、char
などarrayName
- 識別子です
例を見てみましょう。
int[] age;
ここでは、age という名前の配列を作成しました。 . int
の要素を格納できます タイプしてください。
しかし、いくつの要素を保存できるでしょうか?
配列が保持できる要素の数を定義するには、C# で配列にメモリを割り当てる必要があります。たとえば、
// declare an array
int[] age;
// allocate memory for array
age = new int[5];
ここでは、new int[5]
配列が 5 つの要素を格納できることを表します。配列のサイズ/長さは 5 とも言えます。
注意 :配列のメモリを 1 行で宣言して割り当てることもできます。たとえば、
int[] age = new int[5];
2. C# での配列の初期化
C# では、宣言中に配列を初期化できます。たとえば、
int [] numbers = {1, 2, 3, 4, 5};
ここでは、numbers という名前の配列を作成し、値 1 で初期化しました。 、2 、3 、4 、および 5 中括弧内。
配列のサイズを提供していないことに注意してください。この場合、C# は配列内の要素の数 (つまり 5) をカウントすることによってサイズを自動的に指定します。
配列では、インデックス番号を使用します 各配列要素の位置を決定します。インデックス番号を使用して、C# で配列を初期化できます。たとえば、
// declare an array
int[] age = new int[5];
//initializing array
age[0] = 12;
age[1] = 4;
age[2] = 5;
...
<図> 
注意 :
- 配列のインデックスは常に 0 から始まります。つまり、配列の最初の要素のインデックスは 0 です。
- 配列のサイズが 5 の場合、最後の要素のインデックスは 4 (5 - 1) になります。
3.配列要素へのアクセス
配列のインデックスを使用して、配列内の要素にアクセスできます。たとえば、
// access element at index 2
array[2];
// access element at index 4
array[4];
ここで、
array[2]
- 3 番目の要素にアクセスarray[4]
- 5 番目の要素にアクセス
例:C# 配列
using System;
namespace AccessArray {
class Program {
static void Main(string[] args) {
// create an array
int[] numbers = {1, 2, 3};
//access first element
Console.WriteLine("Element in first index : " + numbers[0]);
//access second element
Console.WriteLine("Element in second index : " + numbers[1]);
//access third element
Console.WriteLine("Element in third index : " + numbers[2]);
Console.ReadLine();
}
}
}
出力
Element in first index : 1 Element in second index : 2 Element in third index : 3
上記の例では、numbers という名前の配列を作成しました。 要素 1、2、3 を使用 .ここでは、インデックス番号を使用しています 配列の要素にアクセスします。
numbers[0]
- 最初の要素 1 にアクセスnumbers[1]
- 2 番目の要素 2 にアクセスnumbers[3]
- 3 番目の要素 3 にアクセス
4.配列要素の変更
配列の要素を変更することもできます。要素を変更するには、その特定のインデックスに新しい値を割り当てるだけです。たとえば、
using System;
namespace ChangeArray {
class Program {
static void Main(string[] args) {
// create an array
int[] numbers = {1, 2, 3};
Console.WriteLine("Old Value at index 0: " + numbers[0]);
// change the value at index 0
numbers[0] = 11;
//print new value
Console.WriteLine("New Value at index 0: " + numbers[0]);
Console.ReadLine();
}
}
}
出力
Old Value at index 0: 1 New Value at index 0: 11
上記の例では、インデックス 0 の初期値は 1 です。次の行に注目してください。
//change the value at index 0
numbers[0] = 11;
ここでは、新しい値 11 を割り当てています これで、インデックス 0 の値が 1 から変更されました 11まで .
5.ループを使用した C# 配列の反復
C# では、ループを使用して配列の各要素を反復処理できます。たとえば、
例:for ループの使用
using System;
namespace AccessArrayFor {
class Program {
static void Main(string[] args) {
int[] numbers = { 1, 2, 3};
for(int i=0; i < numbers.Length; i++) {
Console.WriteLine("Element in index " + i + ": " + numbers[i]);
}
Console.ReadLine();
}
}
}
出力
Element in index 0: 1 Element in index 1: 2 Element in index 2: 3
上記の例では、配列 numbers の要素を反復処理するために for ループを使用しました。 .行に注意してください、
numbers.Length
ここでは、Length
配列のプロパティは、配列のサイズを示します。
foreach ループを使用して、配列の要素を反復処理することもできます。たとえば、
例:foreach ループの使用
using System;
namespace AccessArrayForeach {
class Program {
static void Main(string[] args) {
int[] numbers = {1, 2, 3};
Console.WriteLine("Array Elements: ");
foreach(int num in numbers) {
Console.WriteLine(num);
}
Console.ReadLine();
}
}
}
出力
Array Elements: 1 2 3
6. System.Linq を使用した C# 配列操作
C# では、System.Linq
があります。 配列内でさまざまな操作を実行するためのさまざまなメソッドを提供する名前空間。たとえば、
例:最小要素と最大要素を見つける
using System;
// provides us various methods to use in an array
using System.Linq;
namespace ArrayMinMax {
class Program {
static void Main(string[] args) {
int[] numbers = {51, 1, 3, 4, 98};
// get the minimum element
Console.WriteLine("Smallest Element: " + numbers.Min());
// Max() returns the largest number in array
Console.WriteLine("Largest Element: " + numbers.Max());
Console.ReadLine();
}
}
}
出力
Smallest Element: 1 Largest Element: 98
上記の例では、
numbers.Min()
- 配列内の最小の数値 1 を返しますnumbers.Max()
- 配列内の最大数 98 を返します
例:配列の平均を求める
using System;
// provides us various methods to use in an array
using System.Linq;
namespace ArrayFunction {
class Program {
static void Main(string[] args) {
int[] numbers = {30, 31, 94, 86, 55};
// get the sum of all array elements
float sum = numbers.Sum();
// get the total number of elements present in the array
int count = numbers.Count();
float average = sum/count;
Console.WriteLine("Average : " + average);
// compute the average
Console.WriteLine("Average using Average() : " + numbers.Average());
Console.ReadLine();
}
}
}
出力
Average : 59.2 Average using Average() : 59.2
上記の例では、
numbers.Sum()
配列のすべての要素の合計を取得するnumbers.Count()
配列内に存在する要素の総数を取得する
次に、合計をカウントで割って平均を求めます。
float average = sum / count;
ここでは、numbers.Average()
も使用しています。 System.Linq
のメソッド 平均を直接取得するための名前空間。
注意 :System.Linq
の使用は必須です Min()
を使用中の名前空間 、 Max()
、 Sum()
、 Count()
、および Average()
メソッド。
C言語