C#で配列に存在する要素の総数を取得する方法
C#で配列に存在する要素の総数を取得するには、GetLength(0)メソッドを使用します。このメソッドは、指定した次元の配列に格納されている要素数を返します。1次元配列の場合は、Lengthプロパティでも同じ値を取得できます。
以下は、文字列型の配列から要素数を取得し、あわせてArray.Existsメソッドで特定の条件に一致する要素が存在するかどうかを確認するサンプルです。
サンプルコード
using System;
public class Demo {
public static void Main() {
string[] products = { "Electronics", "Accessories", "Clothing", "Toys", "Clothing", "Furniture" };
Console.WriteLine("商品リスト...");
foreach(string s in products) {
Console.WriteLine(s);
}
Console.WriteLine("配列の長さ = " + products.GetLength(0));
Console.WriteLine("\n「C」で始まる商品は1つ以上あるか? = {0}", Array.Exists(products, ele => ele.StartsWith("C")));
Console.WriteLine("\n「D」で始まる商品は1つ以上あるか? = {0}", Array.Exists(products, ele => ele.StartsWith("D")));
Console.WriteLine("\n「T」で始まる商品は1つ以上あるか? = {0}", Array.Exists(products, ele => ele.StartsWith("T")));
Console.WriteLine("\n「E」で始まる商品は1つ以上あるか? = {0}", Array.Exists(products, ele => ele.StartsWith("E")));
}
}
実行結果
上記のコードを実行すると、次のような出力が得られます。
商品リスト...
Electronics
Accessories
Clothing
Toys
Clothing
Furniture
配列の長さ = 6
「C」で始まる商品は1つ以上あるか? = True
「D」で始まる商品は1つ以上あるか? = False
「T」で始まる商品は1つ以上あるか? = True
「E」で始まる商品は1つ以上あるか? = True
このように、GetLength(0)によって配列の要素数が「6」と表示されました。また、Array.Existsメソッドとラムダ式を組み合わせることで、「C」「T」「E」で始まる商品が存在することも確認できます。
空の配列の場合
次に、要素が1つもない空の配列に対して、要素数や配列の特性を確認する例を見てみましょう。
サンプルコード
using System;
public class Demo {
public static void Main() {
string[] products = new string[] { };
Console.WriteLine("配列の長さ = " + products.GetLength(0));
Console.WriteLine("配列は固定サイズか? = " + products.IsFixedSize);
Console.WriteLine("配列は読み取り専用か? = " + products.IsReadOnly);
}
}
実行結果
配列の長さ = 0
配列は固定サイズか? = True
配列は読み取り専用か? = False
空の配列の場合、GetLength(0)は「0」を返します。また、C#の配列は常に固定サイズ(IsFixedSizeがTrue)であり、読み取り専用ではない(IsReadOnlyがFalse)ことがわかります。
まとめ
- 配列の要素数を取得するには
GetLength(0)メソッドまたはLengthプロパティを使用します。 - 空の配列の場合は要素数として0が返されます。
- C#の配列は固定サイズであり、作成後にサイズを変更することはできません。
-
C#で配列のバイト数をカウントする方法【Buffer.ByteLength活用】
C#では、Buffer.ByteLengthメソッドを使うことで、バイト配列の総バイト数を簡単に取得できます。本記事では、byte型配列の宣言からバイト数のカウント、そして各要素の表示までを、実際のコード例とともにわかりやすく解説します。 1. バイト配列を宣言する まずは、カウント対象となるbyte型の配列を用意します。 byte[] b = { 5, 9, 19, 23, 29, 35, 55, 78 }; この配列には8個の要素が格納されており、byte型は1要素あたり1バイトのため、合計8バイトとなります。 2. Buffer.ByteLengthメソッドでバイト数を取得する 配列のバ
-
C#で配列の要素にアクセスする方法を解説
C#では、配列の要素にアクセスする際、インデックス(添字)を指定します。配列のインデックスは0から始まるため、最初の要素は「0番目」、3番目の要素は「2番目」としてアクセスすることに注意しましょう。 1. 配列の定義と初期化 まず、配列を定義して初期化します。以下は3つの整数値を持つint型配列の例です。 int[] p = new int[3] {99, 92, 95}; 2. 配列の全要素を表示する forループを使えば、配列内のすべての要素を順番に表示できます。ループ変数をインデックスとして利用し、各要素へアクセスします。 for (j = 0; j < 3; j++ ) {