Saya memiliki konstruksi enum seperti ini:
public enum EnumDisplayStatus
{
None = 1,
Visible = 2,
Hidden = 3,
MarkedForDeletion = 4
}
Dalam database saya, enumerasi direferensikan oleh nilai. Pertanyaan saya adalah, bagaimana saya bisa mengubah representasi nomor enum kembali ke nama string.
Misalnya, mengingat 2
hasilnya harus Visible
.
nameof(EnumDisplayStatus.Visible)
Semoga ini bisa membantu seseorangJawaban:
Anda dapat mengonversi bagian
int
belakang menjadi anggota enumerasi dengan gips sederhana, lalu memanggilToString()
:sumber
enum Foo { A = 1, B= 1 }
?Jika Anda perlu mendapatkan string
"Visible"
tanpa mendapatkanEnumDisplayStatus
instance, Anda dapat melakukan ini:sumber
Coba ini:
sumber
Gunakan ini:
sumber
Anda bisa melemparkannya
ah .. kent mengalahkan saya untuk itu :)
sumber
DB ke C #
C # ke DB
sumber
LARUTAN:
Juga, menggunakan GetName lebih baik daripada casting Enum eksplisit .
[Kode untuk Tolok Ukur Kinerja]
[Hasil sampel]
sumber
Solusi waktu kompilasi tercepat menggunakan
nameof
ekspresi .Mengembalikan literal enum.
catatan:
nameof
.sumber
Hanya perlu:
sumber
"f"
specifier bernuansa, dan mungkin atau mungkin bukan apa yang diinginkan penelepon (tergantung pada: apa yang mereka inginkan): docs.microsoft.com/en-us/dotnet/standard/base-types/…Untuk mendapatkan nilai String [Nama]:
Dan untuk mendapatkan nilai enum:
sumber
saya telah menggunakan kode ini di bawah ini
sumber
Cukup masukkan int ke jenis enumerasi:
sumber