Сегодня я делаю еще один вызов Codegolf над на Codegolf StackExchange, и я пытался сделать это:C# Enum требует броска в тройной форме?
SomeEnum = SomeCondition ? 1 : 2;
, но это говорит мне Cannot convert source type 'int' to target type 'SomeEnum'
, поэтому я попытался вместо этого:
SomeEnum = SomeCondition ? (SomeEnum)1 : (SomeEnum)2;
Который затем решить мой проблема, но, к моему удивлению, первый бросок здесь считается излишним. Мой вопрос: Почему мне нужно всего лишь перевести последнее целое число вSomeEnum
?
Если вы удалите «избыточный» листинг, действительно ли код компилируется? –
У вас есть небольшой пример этого? Я попытался воспроизвести его, и я должен выполнить оба результата, или мой код не будет компилироваться. – Equalsk
@Damien_The_Unbeliever Да, код все еще компилируется и отлично работает, когда вы делаете только одну сторону. Это выглядит запутанным! – Metoniem