16

コンパイラに Enum 値を文字列に自動的に変換させて、毎回 ToString メソッドを明示的に呼び出すことを回避できるようにすることは可能ですか? これが私がやりたいことの例です:

enum Rank { A, B, C }

Rank myRank = Rank.A;
string myString = Rank.A; // Error: Cannot implicitly convert type 'Rank' to 'string'
string myString2 = Rank.A.ToString(); // OK: but is extra work
4

5 に答える 5

11

いいえ。列挙型は独自の型であるため、別のものに変換する場合は、いくつかの作業を行う必要があります。

ただし、何をしているのかによっては、一部のメソッドがToString()自動的に呼び出します。たとえば、次のことができます。

Console.Writeline(Rank.A);
于 2010-06-09T23:16:46.347 に答える
1

いいえ、しかし少なくともToString()、文字列値を使用する必要がある場合にメソッドを呼び出す列挙型を使用して、次のことを行うことができます。

Console.WriteLine(Rank.A); //prints "A".
于 2010-06-09T23:17:49.253 に答える
0

正しい構文は次のとおりです。

myRank.ToString("F");
于 2010-06-09T23:46:57.687 に答える