C#の列挙型(enum)で定義された項目の総数を取得する方法
C#の列挙型(enum)とは
列挙型(enum)は、定数(変更不可・読み取り専用の変数)のグループを表す特別な「クラス」です。
列挙型を作成するには、classやinterfaceの代わりにenumキーワードを使用し、各項目をカンマで区切って定義します。
列挙型の基本ルール
- デフォルトでは、最初の項目の値は0、2番目の項目は1、というように順番に整数値が割り当てられます。
- 項目から整数値を取得するには、明示的にint型へキャスト(変換)する必要があります。
- 独自の値を項目に割り当てることも可能で、その後の項目には続く番号が自動的に更新されます。
- 列挙型はswitch文で対応する値を判定する処理によく利用されます。
Enum.GetNamesメソッドで項目数を取得する
列挙型に定義された項目の総数を取得するには、Enum.GetNamesメソッドを使用します。このメソッドは列挙型のすべての項目名を文字列配列として返すため、そのLengthプロパティを参照することで項目数が分かります。
サンプルコード1:項目数を表示する
class Program{
enum Level{
Low,
Medium,
High
}
public static void Main(){
var myCount = Enum.GetNames(typeof(Level)).Length;
System.Console.WriteLine(myCount);
Console.ReadLine();
}
}出力結果
3
この例では、Level列挙型にLow、Medium、Highの3つの項目が定義されているため、出力結果は「3」となります。
サンプルコード2:項目数を使ってループ処理を行う
取得した項目数を活用すれば、for文を使って列挙型の各項目を順番に処理することもできます。
class Program{
enum Level{
Low,
Medium,
High
}
public static void Main(){
var myCount = Enum.GetNames(typeof(Level)).Length;
for (int i = 0; i < myCount; i++){
System.Console.WriteLine(i);
}
Console.ReadLine();
}
}出力結果
0 1 2
補足:Enum.GetValuesを使う方法
同様の目的には、Enum.GetValuesメソッドを使用する方法もあります。GetValuesは項目名ではなく、各項目に割り当てられた値そのものを配列として返します。こちらもLengthプロパティと組み合わせることで、同じように項目数を取得できます。
var count = Enum.GetValues(typeof(Level)).Length;
用途に応じてGetNames(名前一覧)とGetValues(値一覧)を使い分けるとよいでしょう。
-
Windows 11/10でフォルダー内のアイテム数をカウントする方法
Windows 11/10でフォルダー内のアイテム数(ファイルやサブフォルダーの総数)を確認したいとき、実はとても簡単な方法があります。特別なツールは不要で、エクスプローラーを使う方法とPowerShellを使う方法の2つだけで対応できます。それぞれの手順を詳しく解説します。 フォルダー内のアイテム数を数える2つの方法 1. エクスプローラーを使う方法(最も手軽) 数秒で確認できる最もシンプルな方法です。ごみ箱の中にアイテムがいくつあるかを調べたい場合などにも、同じ手順で使えます。 対象のフォルダーを開きます フォルダー内のアイテムを1つ選択します キーボードで「Ctrl + A」を押して、
-
Windows 11/10でジャンプリストの表示項目数を増やす方法
Windows 11およびWindows 10では、タスクバーのジャンプリストにはデフォルトで12件の項目が表示されます。かつてWindows 7の時代には「タスクバーと[スタート]メニューのプロパティ」からこの表示数を自由に変更できましたが、現在のバージョンではその設定項目自体が廃止されています。 Windows 11/10でジャンプリストの項目数を増やす手順 Windows 11/10でジャンプリストの表示項目数を変更・増加させたい場合は、レジストリエディターを利用する必要があります。設定アプリやコントロールパネルからは変更できないため、以下の手順に従ってください。 1. レジストリエ