1. ホーム
  2. .net

[解決済み] 列挙型を文字列に変換する

2022-03-10 23:33:32

質問

.NET 3.5でEnumをStringに変換するには、どの方法が好ましいですか?

  • Enum.GetName
  • Enum.Format
  • ToString

なぜ、これらのうちの1つを選ぶべきなのでしょうか?どちらがより良いパフォーマンスなのでしょうか?

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

C#6 では、enum の名前を取得する最良の方法は、新しい nameof 演算子を使用します。

nameof(MyEnum.EnumValue);

// Ouputs
> "EnumValue"

これはコンパイル時に動作し、コンパイル結果では enum が文字列に置き換えられるため、結果的にこれが最も速い方法ということになります。

enum名を使用すると、コードの難読化に干渉します。enum名の難読化を価値あるものと考えるか、重要であると考えるかは、おそらく全く別の問題でしょう。