ホームページ  >  記事  >  バックエンド開発  >  C# で Enum.GetNames 関数を使用して列挙型に定義されているすべての名前を取得する方法

C# で Enum.GetNames 関数を使用して列挙型に定義されているすべての名前を取得する方法

WBOY
WBOYオリジナル
2023-11-18 15:44:161489ブラウズ

C# で Enum.GetNames 関数を使用して列挙型に定義されているすべての名前を取得する方法

C# では、列挙型は非常に便利なデータ型であり、これを使用すると、特定の状態やオプションを表す定数を定義できます。 enum 型を定義したら、Enum.GetNames 関数を使用して、定義されたすべての名前を取得できます。この記事では、この関数の使用方法を詳しく説明し、具体的なコード例を示します。

  1. Enum.GetNames 関数とは

Enum.GetNames 関数は、指定された列挙型の文字列配列を返す静的メソッドです。各文字列は Both を表します。列挙型によって定義された名前付き定数の名前。

この関数の構文は次のとおりです。

public static string[] GetNames(Type enumType);

このうち、enumType は Type 型パラメータであり、取得する名前は列挙型です。

  1. Enum.GetNames 関数の使用方法

Enum.GetNames 関数を使用して列挙型内のすべての定義の名前を取得するのは非常に簡単です。次の手順に従うだけです。ステップ:

ステップ 1: 列挙型を定義する

まず、列挙型を定義する必要があります。例:

public enum Season {
Spring,
夏 ,
秋,

}

この列挙型は、春、夏、秋、冬という 4 つの季節の定数値を定義します。

ステップ 2: Enum.GetNames 関数を呼び出す

次に、コード内で Enum.GetNames 関数を呼び出して名前を取得できます。例:

string[ ]seasonNames = Enum .GetNames(typeof(Season));

このうち、typeof(Season)は、取得する名前の列挙型を示すSeason型のTypeオブジェクトを返します。 Enum.GetNames メソッドを呼び出すと、列挙型で定義されたすべての名前が返され、文字列配列に格納されます。

ステップ 3: 取得した名前を使用する

最後に、取得した名前配列を使用してさまざまな操作を実行できます。たとえば、配列を反復処理して、次のようにすべての名前を出力できます。

foreach (seasonNames の文字列名) {
Console.WriteLine(name);
}

出力 結果は次のようになります。

Spring
Summer
Autumn
Winter

  1. 完全なサンプル コード

以下は完全なサンプル コードです。Enum.GetNames 関数を使用して、Season 列挙型で定義されているすべての名前を取得し、出力します。

using System;

public enum Season {
Spring ,
夏,
秋,

}

class プログラム {
static void Main(string[] args) {

  string[] seasonNames = Enum.GetNames(typeof(Season));

  foreach (string name in seasonNames) {
     Console.WriteLine(name);
  }

}
}

出力結果は次のとおりです。

Spring
Summer
Autumn
Winter

  1. summary

Enum.GetNames 関数を使用する列挙型で定義されているすべての名前を取得するのは非常に簡単です。列挙型を定義し、typeof 演算子を使用してその Type オブジェクトを取得し、最後に Enum.GetNames メソッドを呼び出すだけです。取得した名前は、コンソールへの出力やファイルへの書き込みなど、さまざまな操作に使用できます。

以上がC# で Enum.GetNames 関数を使用して列挙型に定義されているすべての名前を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。