Dalam C #, apakah mungkin untuk menghias tipe Enum dengan atribut atau melakukan sesuatu yang lain untuk menentukan apa nilai default seharusnya, tanpa harus mengubah nilainya? Angka-angka yang diperlukan mungkin dibuat dengan batu untuk alasan apa pun, dan akan berguna untuk tetap memiliki kontrol atas default.
enum Orientation
{
None = -1,
North = 0,
East = 1,
South = 2,
West = 3
}
Orientation o; // Is 'North' by default.
ints di abstrak , hanya karena mereka diimplementasikan sebagai tipe numerik. Kita dapat mengimplementasikan enum sebagai string, dan itu tidak akan mengubah kegunaannya. Saya menganggap jawabannya di sini sebagai batasan dari ekspresi bahasa C #; batasannya tentu saja tidak melekat dalam gagasan "membedakan nilai dari himpunan terbatas."
enums sebagai tipe-tingkat konstruksi, khususnya sebagai tipe penjumlahan (atau lihat di sini . Yaitu, anggap setiap enum sebagai tipe yang berbeda, di mana semua nilai dari tipe itu berbeda dari setiap nilai enum lainnya. Dari pola pikir seperti itu, tidak mungkin bagi enum untuk berbagi nilai apa pun , dan memang, abstraksi ini berantakan ketika Anda menganggap bahwa default dari 0mungkin atau mungkin tidak berlaku untuk enum yang diberikan, dan dengan mudah dimasukkan ke setiap enum.