はじめに
プログラミングにおいて、配列は非常に重要なデータ構造の一つです。C#では配列を利用することで、複数の同じ型のデータを効率よく管理することができます。本記事では、C#における配列の基本的な操作について解説します。初心者の方でも理解しやすいように、具体的なコード例を交えて説明していきます。
配列の宣言と初期化
C#で配列を使用するためには、まず配列の宣言と初期化を行います。配列の宣言は、データ型の後に角括弧を付けて行います。以下に例を示します。
int[] numbers; // 整数型の配列を宣言
配列の宣言後、初期化を行う必要があります。初期化は、配列の要素数を指定して行います。
numbers = new int[5]; // 要素数5の配列を初期化
配列の宣言と初期化を同時に行うこともできます。
int[] numbers = new int[5]; // 宣言と初期化を同時に行う
また、初期値を設定して配列を初期化することもできます。
int[] numbers = { 1, 2, 3, 4, 5 }; // 初期値を設定して配列を初期化
配列への値の代入と取得
配列の各要素にはインデックスを使用してアクセスします。インデックスは0から始まり、配列の要素数-1までの整数値です。
numbers[0] = 10; // インデックス0の要素に値を代入
int firstNumber = numbers[0]; // インデックス0の要素の値を取得
インデックスを使用して配列の要素にアクセスすることで、任意の位置の値を取得したり、変更したりすることができます。
配列の反復処理
配列の要素を一つずつ処理するためには、ループを使用します。C#では、forループやforeachループを使用して配列の反復処理を行うことができます。
// forループを使用して配列の要素を処理
for (int i = 0; i < numbers.Length; i++)
{
Console.WriteLine(numbers[i]);
}
// foreachループを使用して配列の要素を処理
foreach (int number in numbers)
{
Console.WriteLine(number);
}
forループはインデックスを使用して要素にアクセスするため、配列の要素数を超えないように注意が必要です。一方、foreachループは各要素に直接アクセスするため、インデックスを意識せずに済みます。
多次元配列
C#では、一次元配列だけでなく多次元配列もサポートしています。多次元配列は、行列のようなデータを扱う際に便利です。以下に、2次元配列の宣言と初期化の例を示します。
int[,] matrix = new int[3, 3]; // 3行3列の2次元配列を宣言
初期値を設定して多次元配列を初期化することもできます。
int[,] matrix = {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};
多次元配列の各要素には、行と列のインデックスを使用してアクセスします。
int value = matrix[1, 2]; // インデックス[1, 2]の要素の値を取得
matrix[0, 0] = 10; // インデックス[0, 0]の要素に値を代入
多次元配列もループを使用して反復処理を行うことができます。
// 2次元配列の要素を処理
for (int i = 0; i < matrix.GetLength(0); i++)
{
for (int j = 0; j < matrix.GetLength(1); j++)
{
Console.WriteLine(matrix[i, j]);
}
}
配列のメソッド
C#の配列には、便利なメソッドがいくつか用意されています。ここでは、代表的なメソッドをいくつか紹介します。
Array.Length
配列の要素数を取得するためには、Lengthプロパティを使用します。
int length = numbers.Length; // 配列の要素数を取得
Array.Sort
配列の要素を昇順にソートするためには、Sortメソッドを使用します。
Array.Sort(numbers); // 配列の要素を昇順にソート
Array.Reverse
配列の要素を逆順に並べるためには、Reverseメソッドを使用します。
Array.Reverse(numbers); // 配列の要素を逆順に並べる
Array.IndexOf
指定した値が配列のどの位置にあるかを調べるためには、IndexOfメソッドを使用します。
int index = Array.IndexOf(numbers, 3); // 配列内の値3のインデックスを取得
Array.Clear
配列の要素をすべてクリアするためには、Clearメソッドを使用します。
Array.Clear(numbers, 0, numbers.Length); // 配列の要素をクリア
ジャグ配列(配列の配列)
C#では、配列の配列、すなわちジャグ配列を使用することができます。ジャグ配列は、各要素が異なる長さの配列を持つ配列です。以下に、ジャグ配列の宣言と初期化の例を示します。
int[][] jaggedArray = new int[3][]; // 3つの配列を持つジャグ配列を宣言
jaggedArray[0] = new int[2]; // 最初の配列の要素数を2に設定
jaggedArray[1] = new int[3]; // 2番目の配列の要素数を3に設定
jaggedArray[2] = new int[1]; // 3番目の配列の要素数を1に設定
ジャグ配列の各要素にも値を代入することができます。
jaggedArray[0][0] = 1;
jaggedArray[0][1] = 2;
jaggedArray[1][0] = 3;
jaggedArray[1][1] = 4;
jaggedArray[1][2] = 5;
jaggedArray[2][0] = 6;
ジャグ配列もループを使用して反復処理を行うことができます。
// ジャグ配列の要素を処理
for (int i = 0; i < jaggedArray.Length; i++)
{
for (int j = 0; j < jaggedArray[i].Length; j++)
{
Console.WriteLine(jaggedArray[i][j]);
}
}
まとめ
本記事では、C#における配列の基本的な操作について解説しました。配列の宣言と初期化、値の代入と取得、反復処理、多次元配列、配列のメソッド、ジャグ配列など、様々な配列操作を学びました。配列はデータの管理や操作を効率化するための強力なツールです。ぜひ、実際のプログラムで配列を活用してみてください。配列操作の基本を理解することで、より複雑なデータ構造やアルゴリズムの実装にも役立つでしょう。

