Чи можна в C # прикрасити атрибут типу Enum або зробити щось інше, щоб вказати, яким має бути значення за замовчуванням, не змінюючи значень? Необхідні номери можуть бути встановлені в камені з будь-якої причини, і було б зручно все-таки мати контроль над замовчуванням.
enum Orientation
{
None = -1,
North = 0,
East = 1,
South = 2,
West = 3
}
Orientation o; // Is 'North' by default.
int
s в рефераті , просто тому, що вони бувають реалізовані як числові типи. Ми могли б реалізувати переписки як рядки, і це не змінило б їх корисність. Я вважаю відповідь тут обмеженням виразності мови C #; обмеження, безумовно, не притаманне ідеї "розмежування значень від обмеженого набору".
enum
s як конструкти на рівні типу, зокрема як типи сум (або дивіться тут . Тобто, розглядаю кожну перерахунок як окремий тип, де всі значення цього типу відрізняються від значень усіх інших перерахунків. З такої думки неможливо, що ентузіасти не можуть поділити будь-яку цінність, і справді ця абстракція розпадається, коли ви вважаєте, що дефолт 0
може бути, а може і не бути дійсним для даного перерахунку, і це просто ротація взуття для кожного перерахунку.