Часто бывает так, что у меня два члена enum:
enum E{
A,
B
}
Допустим, я хочу присвоить i другое значение в соответствии с моим значением enum.
я должен написать это:
int i= (e== E.A)?0:1;
или это:
int i;
if (e==E.A)
i=0;
else if (e==E.B)
i=1;
else throw new NotImplementedException("Unknown enum member for E : " + e);
или, может быть, это:
int i;
switch (e)
{
case E.A:
i = 0;
break;
case E.B:
i=1;
break;
default:
throw new NotImplementedException("Unknown enum member for E : " + e);
}
Я обычно выбираю первый вариант, потому что писать гораздо быстрее, но я всегда чувствую себя немного не так. Что ты обычно делаешь?
Я разместил код на c #, но этот вопрос не связан с языком.
Я действительно не знаю, как это должно быть помечено, не стесняйтесь пометить его, если необходимо.
Редактировать: возможно, мой вопрос недостаточно ясен: что мне действительно интересно, так это то, могу ли я предположить, что мое перечисление никогда не изменится и пойдет по быстрому пути, или я должен считать, что оно может измениться (хотя еще не изменил его), и добавьте некоторый код обработки ошибок, чтобы я не тратил недели, отслеживая, где находится ошибка, если она когда-либо изменится)