C#'ta değerden enum adı nasıl alınır
enum ‘un popüler kullanım alanlarından biri, enum adını değerinden elde etmektir.
Gerçek bir dünya örneği düşünün, genellikle veri tabanında enum değerlerini saklayacağız. yani, yalnızca tamsayı değerlerini saklayacağız
Ve veri tabanından enum değerini okuduktan sonra bunu enum adına geri dönüştürmemiz gerekir.
C#‘da değerden enum adını almanın iki yolu vardır
On this page
Çözüm 1: Kullanma Enum.GetName()
C# Enum.GetName()
işlevi, enum türü ve değeri olmak üzere iki parametre alır ve enum adını döndürür.
LogLevel
Enum örneğini ele alalım
public enum LogLevel
{
ERROR=1,
WARN=2,
INFO=3,
DEBUG=4
}
Şimdi enum adını almak için enum değerini Enum.GetName()
‘a aktaracağız
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
**/
C# .Net 6
sürümünü kullanıyorsanız, Enum.GetName()
yöntemine yalnızca enum değerini ( enum’ye döküm) aktarabilirsiniz.
/** get enum name from value in .Net 6**/
var enumName6 = Enum.GetName((LogLevel)enumValue);
Çözüm 2: Tip dökümünü kullanma
Başka bir yol ise, enum değerini döküm kullanarak enumeration üyesine dönüştürmek ve ardından ToString()
yöntemini kullanmaktır.
Bu, C# Enum
yerleşik işlevlerini kullanmayan basit bir yoldur.
Önce enum değerini enumeration üyesine dönüştürün ve ardından ToString()
yöntemini kullanın.
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
**/
Özet
Bu eğitimde c#’ta enum isim değerini almanın farklı yollarını öğrendik
- enum tür ve değer parametrelerini
Enum.GetName()
yöntemine aktararak - Ve tip dökümünü kullanarak ilgili enum tipine dönüştürün