Dalam C#, rentetan dihuraikan sebagai disebutkan
Apabila memproses borang dan penghitungan HTML dalam C#, nilai rentetan mungkin perlu ditukar kepada nilai penghitungan yang sepadan. Berikut adalah beberapa kaedah untuk melaksanakan tugas ini:
kaedah parsing umum (.NET Core dan .NET Framework 4.0)
dalam .NET Core dan .NET Framework 4.0 dan versi yang lebih tinggi, anda boleh menggunakan kaedah parsing umum:
bool statusSuccess = Enum.TryParse("Active", out StatusEnum myStatus);
Salin selepas log masuk
kaedah analisis mudah
Jika anda tidak dapat mengakses versi terkini .NET, anda boleh membuat rutin analisis mudah:
public static T ParseEnum<T>(string value)
{
return (T)Enum.Parse(typeof(T), value, true);
}
StatusEnum myStatus = EnumUtil.ParseEnum<StatusEnum>("Active");
// 或
StatusEnum myStatus = "Active".ToEnum<StatusEnum>();
Salin selepas log masuk
kaedah dengan nilai lalai
Jika rentetan tidak boleh menjadi nilai penghitungan yang berkesan, anda boleh memberikan nilai lalai dalam kaedah parsing:
public static T ToEnum<T>(this string value, T defaultValue)
{
if (value == null || value == "")
return defaultValue;
T result;
return Enum.TryParse<T>(value, true, out result) ? result : defaultValue;
}
StatusEnum myStatus = "Active".ToEnum(StatusEnum.None);
Salin selepas log masuk
Ingat bahawa apabila mengubahsuai kelas teras seperti kelas rentetan, gunakan kaedah pengembangan dengan teliti kerana ia akan mempengaruhi semua contoh kelas ini, tanpa mengira konteksnya.
Atas ialah kandungan terperinci Bagaimana cara menghuraikan rentetan ke dalam enum di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!