C# 配列をマスターする:宣言、初期化、操作
C# 配列をマスターする
C# で配列を宣言、初期化、操作する方法を学習します。実践的なコード例、ループ技術、LINQ 操作をカバーします。
配列は同じ型の要素を固定サイズのシーケンスとして格納します。たとえば、学生の年齢のために 5 つの別々の変数を使う代わりに、単一の配列で十分です。

1. C# での配列宣言
次の構文で配列を宣言します:
datatype[] arrayName;
datatype– 例:int、string、charなどarrayName– 有効な識別子
例:
int[] age;
ここでは age が整数値を保持できます。
配列サイズの決定
要素数を設定するためにメモリを割り当てます:
// 配列を宣言
int[] age;
// 5 要素分のメモリを割り当て
age = new int[5];
または、宣言と割り当てを 1 文で:
int[] age = new int[5];
2. 配列の初期化
配列は宣言時に初期化できます:
int[] numbers = {1, 2, 3, 4, 5};
コンパイラが初期化子からサイズを推論します。
宣言後に個々の要素を設定することも可能です:
// 配列を宣言
int[] age = new int[5];
// 要素を初期化
age[0] = 12;
age[1] = 4;
age[2] = 5;
// …

- 配列のインデックスは 0 から始まります。
- 5 要素の配列のインデックスは 0~4 です。
3. 要素へのアクセス
インデックスで要素を取得します:
// 3 番目の要素
array[2];
// 5 番目の要素
array[4];
array[2]は 3 番目の要素を返します。array[4]は 5 番目の要素を返します。
例:配列要素へのアクセス
using System;
namespace AccessArray {
class Program {
static void Main(string[] args) {
// 配列を作成
int[] numbers = {1, 2, 3};
// 最初の要素にアクセス
Console.WriteLine("Element at index 0 : " + numbers[0]);
// 2 番目の要素にアクセス
Console.WriteLine("Element at index 1 : " + numbers[1]);
// 3 番目の要素にアクセス
Console.WriteLine("Element at index 2 : " + numbers[2]);
Console.ReadLine();
}
}
}
出力
Element at index 0 : 1 Element at index 1 : 2 Element at index 2 : 3
4. 要素の変更
インデックスに新しい値を代入して要素を変更します:
using System;
namespace ChangeArray {
class Program {
static void Main(string[] args) {
// 配列を作成
int[] numbers = {1, 2, 3};
Console.WriteLine("Old Value at index 0: " + numbers[0]);
// 値を更新
numbers[0] = 11;
Console.WriteLine("New Value at index 0: " + numbers[0]);
Console.ReadLine();
}
}
}
出力
Old Value at index 0: 1 New Value at index 0: 11
5. ループでの反復処理
for または foreach を使用して配列を走査します。
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 at index " + i + ": " + numbers[i]);
}
Console.ReadLine();
}
}
}
出力
Element at index 0: 1 Element at index 1: 2 Element at index 2: 3
配列サイズの取得には numbers.Length を使用します。
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 を使用した配列操作
System.Linq 名前空間は配列操作のための強力なメソッドを提供します。
最小値と最大値の検索
using System;
using System.Linq;
namespace ArrayMinMax {
class Program {
static void Main(string[] args) {
int[] numbers = {51, 1, 3, 4, 98};
Console.WriteLine("Smallest Element: " + numbers.Min());
Console.WriteLine("Largest Element: " + numbers.Max());
Console.ReadLine();
}
}
}
出力
Smallest Element: 1 Largest Element: 98
平均値の計算
using System;
using System.Linq;
namespace ArrayFunction {
class Program {
static void Main(string[] args) {
int[] numbers = {30, 31, 94, 86, 55};
float sum = numbers.Sum();
int count = numbers.Count();
float average = sum / count;
Console.WriteLine("Average : " + average);
Console.WriteLine("Average using Average() : " + numbers.Average());
Console.ReadLine();
}
}
}
出力
Average : 59.2 Average using Average() : 59.2
注意: using System.Linq; を含めて Min、Max、Sum、Count、Average メソッドにアクセスしてください。
C言語