Cara mendapatkan nama enum dari nilai di C#
Salah satu kasus penggunaan enum yang populer adalah untuk mendapatkan nama enum dari nilainya.
Pertimbangkan contoh dunia nyata, umumnya kita akan menyimpan nilai enum dalam basis data. yaitu, kita hanya akan menyimpan nilai integer
Dan setelah membaca nilai enum dari data base, kita harus mengubahnya kembali ke nama enum.
Ada dua cara untuk mendapatkan nama enum dari nilai di C#
On this page
Solusi 1: Menggunakan Enum.GetName()
C # Enum.GetName()
fungsi mengambil dua parameter enum jenis dan nilai dan mengembalikan enum nama.
Ambil contoh LogLevel
Enum
public enum LogLevel
{
ERROR=1,
WARN=2,
INFO=3,
DEBUG=4
}
Sekarang kita akan mengoper nilai enum ke Enum.GetName()
untuk mendapatkan nama enum
var enumValue = 1;
var enumName = Enum.GetName(typeof(LogLevel),enumValue);
Console.WriteLine($"The name of enum value: {enumValue} is {enumName}");
/**
Here is the output:
The name of enum value : 1 is ERROR
**/
Jika Anda menggunakan versi C# .Net 6
, Anda dapat mengoper hanya nilai enum (cast ke enum) ke metode Enum.GetName()
.
/** get enum name from value in .Net 6**/
var enumName6 = Enum.GetName((LogLevel)enumValue);
Solusi 2: Menggunakan pengecoran tipe
Cara lain adalah dengan, Mengkonversi nilai enum ke anggota enumerasi menggunakan casting dan kemudian menggunakan metode ToString()
.
Ini adalah cara sederhana yang tidak menggunakan fungsi bawaan C# Enum
.
Pertama-tama konversikan nilai enum ke anggota erasi enumdan kemudian gunakan metode ToString()
.
var enumValue = 2;
//Convert enum Value
var enumDisplayValue = (LogLevel)enumValue;
var enumName = enumDisplayValue.ToString();
Console.WriteLine($"The name of enum value: {enumValue} is {enumName}");
/**
Here is the output
The name of enum value : 2 is WARN
**/
Ringkasan
Dalam tutorial ini kita belajar berbagai cara untuk mendapatkan nilai nama enum di c#
- Dengan melewatkan enum tipe dan parameter nilai ke metode
Enum.GetName()
- Dan dengan menggunakan type casting ke tipe enum yang sesuai