Конвертировать Enum в String с двумя цифрами - PullRequest
0 голосов
/ 26 июня 2019

У меня есть вопрос при преобразовании enum в string, но мне нужно, чтобы преобразование было заполнено нулем из 2 цифр.пример

public enum System
{
    Unknown = 0,
    Mirror = 3,
    Order = 17
}

будет иметь следующий результат "03" .

с примером ниже он работает

int value;
value = 3;
Console.WriteLine(value.ToString("D2"));
// Displays 03

, но с enumне работает

Console.WriteLine(SourceSystem.Mirror.ToString("D2"));

и появляется эта ошибка

System.FormatException 
Message=Format String can be only "G", "g", "X", "x", "F", "f", "D" or "d".....

1 Ответ

3 голосов
/ 26 июня 2019

System.Mirror в настоящее время имеет тип enum, поэтому вы не можете вызвать ToString("D2") для него, так как вам нужно вызывать этот метод для переменной типа int.Итак, что вы должны сделать, это сначала привести перечисление к типу int, а затем вызвать ToString("D2") для этой приведенной переменной следующим образом:

Console.WriteLine(((int) System.Mirror).ToString("D2"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...