C# 配列の要素をカウントする – Lengthプロパティで配列、2次元配列、ジャグ配列の要素をカウントする方法

配列名.Length;

要素数を取得するには、配列名のあとに.Length;と書きます。

配列の要素数をカウントする例文

using static System.Console;
class Test { static void Main() { string[] kago = new string[3]; // 要素数が3の配列の宣言 Write(kago.Length); // 配列kagoの要素数をカウント } }
3

kago.Lengthで配列kagoの要素数の3がカウントされます。

要素に値を代入してもカウントされる要素数は変わらない

using static System.Console;
class Test { static void Main() { string[] kago = new string[3]; kago[0] = "イチゴ"; // 配列の要素にイチゴを代入 Write(kago.Length); } }
3

kago[0] = “イチゴ”;で配列kagoの要素に値を代入してもカウントされる要素数は変わらず3になります。
つまり、.Lengthは値が代入されているかされていないかに関係なく、要素数の合計がカウントされます。
これは、2次元配列でもジャグ配列でも同じです。

2次元配列の要素数をカウントする

2次元配列の要素数をカウントするときも、配列名.Lengthと書きます。

using static System.Console;
class Test { static void Main() { string[,] kago = new string[2, 2]; // 2行×2列の2次元配列の宣言と作成 Write(kago.Length); // 2次元配列kagoの要素数をカウント } }
4

2次元配列kagoの要素数は2行×2列=4なので、kago.Length で要素数の4がカウントされます。
## ジャグ配列の要素数をカウントする
ジャグ配列は配列の中に配列が入っています。
外側の配列の要素数は行の数を表し、それぞれの行に入っている内側の配列の要素数は行の長さを表します。
カウントするときも、全ての要素数がカウントされる訳ではなく、外側の配列と内側の配列で別々にカウントされます。

using static System.Console;
class Test { static void Main() { string[][] kago = new string[2][]; // 2行のジャグ配列の作成 kago[0] = new string[1]; // 1行目の長さを1に指定 kago[1] = new string[2]; // 2行目の長さを2に指定 WriteLine(kago.Length); // 行数の2をカウント WriteLine(kago[0].Length); // 1行目の要素数の1をカウント WriteLine(kago[1].Length); // 2行目の要素数の2をカウント } }
2     // 行数
1     // 1行目の要素数
2     // 2行目の要素数

kago.Lengthで配列kagoの行数の2をカウントします。
kago[0].Lengthで配列kagoの1行目の要素数の1をカウントします。
kago[1].Lengthで配列kagoの2行目の要素数の2をカウントします。
## ジャグ配列の全要素数をカウントする
ジャグ配列の全要素数をカウントするには、for文と行ごとの要素数を加算代入演算子を使います。

using static System.Console;
class Test { static void Main() { string[][] kago = new string[2][]; kago[0] = new string[1]; kago[1] = new string[2];
int youso = 0; // 全要素数を代入する変数yousoの初期化 for (int i = 0; i < kago.Length; i++) // 行数の数だけfor文をループ { youso += kago[i].Length; // 行ごとの要素数を変数yousoに加算代入 } WriteLine(youso); // 変数yousoを表示 } }
3     // 1行目の要素数1と2行目の要素数2を足した3が表示

for (int i = 0; i < kago.Length; i++){}で行数の数だけfor文のループを実行します。
youso += kago[i].Length;で1回のループごとに上から1行ずつ、行の要素数を変数yousoに足していきます。
WriteLine(youso);でジャグ配列の全要素数が表示されます。
## 配列の要素数をカウントするまとめ
配列の要素数は配列名.Lengthでカウントでき、要素に値が代入されているかに関わらず、要素数の合計がカウントできます。
ジャグ配列は、配列の中に配列がある構造のため、外側の配列と内側の配列で別々に要素数がカウントされます。