1. ホーム
  2. c#

[解決済み] enumを列挙するには

2022-03-15 18:08:22

質問

を列挙するにはどうすればよいのでしょうか? enum をC#で使うことはできますか?

例)以下のようなコードはコンパイルできません。

public enum Suit
{
    Spades,
    Hearts,
    Clubs,
    Diamonds
}

public void EnumerateAllSuitsDemoMethod()
{
    foreach (Suit suit in Suit)
    {
        DoSomething(suit);
    }
}

そして、次のようなコンパイル時エラーが発生します。

'Suit'は'type'ですが、'variable'のように使用されています。

で失敗します。 Suit キーワード、2つ目です。

どのように解決するのですか?

foreach (Suit suit in (Suit[]) Enum.GetValues(typeof(Suit)))
{
}

備考 : へのキャストは (Suit[]) は厳密には必要ありません。 が、0.5ns高速化されます。 .