Как привести Enum к его базовому типу ДО вызова метода экземпляра в одну строку? - PullRequest
1 голос
/ 18 октября 2019

Я столкнулся с необходимостью в этом ответе при попытке попробовать:

(int)myEnum.ToString("D2");

Это не работает, потому что он думает, что я пытаюсь привести возвращаемое значение строки из .ToString("D2")

Конечно, это достаточно просто сделать:

var myInt = (int)myEnum;
myInt.ToString("D2");

НО, я хочу знать, существует ли однострочное решение, чтобы я мог использовать его в лямбда-выражении, т.е.

// Assuming this worked how I wanted it to
myEnums.Select(myEnum => (int)myEnum.ToString("D2"))

Цель здесь - преобразовать мой IEnumerable из myEnum в левые числа с нулевым отступом

1 Ответ

2 голосов
/ 18 октября 2019

Вы должны добавить еще пару скобок:

var x = ((int)myEnum).ToString("D2");

т.е. ваш запрос linq будет выглядеть так:

var x = myEnums.Select(myEnum => ((int)myEnum).ToString("D2"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...