Перечисление C# для строкового представления автопреобразования?

Действительно ли возможно иметь компилятор, автоматически преобразовывают мои Перечислимые значения в строки, таким образом, я могу постараться не явно называть метод 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
12
задан dcompiled 9 June 2010 в 23:11
поделиться

3 ответа

Нет. Перечисление - это собственный тип, если вы хотите преобразовать его во что-то еще, вам нужно поработать.

Однако, в зависимости от того, что вы с ним делаете, некоторые задачи автоматически вызывают ToString () для вас. Например, вы можете сделать:

Console.Writeline(Rank.A);
10
ответ дан 2 December 2019 в 20:16
поделиться

Нет, но, по крайней мере, вы можете делать что-то с перечислениями, которые будут вызывать их методы ToString () , когда вам может понадобиться использовать их строковое значение, например:

Console.WriteLine(Rank.A); //prints "A".
1
ответ дан 2 December 2019 в 20:16
поделиться

Правильный синтаксис должен быть

myRank.ToString("F");
0
ответ дан 2 December 2019 в 20:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: