rentetan enumerated menunjukkan
Penghitungan adalah alat yang berkuasa untuk satu set pemalar penamaan. Walau bagaimanapun, apabila anda perlu mengakses perwakilan rentetan nilai penghitungan, tingkah laku lalai mungkin terhad.
Penyelesaian tersuai
Penyelesaian tersuai yang disediakan oleh pengguna melibatkan penciptaan atribut tersuai bernama "StringValue" dan menambahkannya kepada penghitungan. Atribut ini menyimpan rentetan nilai yang disebutkan menunjukkan bahawa kaedah GetStringValue boleh digunakan untuk mendapatkan semula. Walaupun penyelesaian ini sah, ia akan meningkatkan kerumitan tambahan dan memerlukan kod tambahan untuk dikekalkan.
Taipkan mod penghitungan selamat
Kaedah yang lebih fleksibel dan selamat adalah menggunakan mod penghitungan selamat jenis. Dalam mod ini, penghitungan ditakrifkan sebagai kelas pengedap, di mana medan statik menunjukkan nilai penghitungan. Contohnya:
Kesimpulan
<code class="language-c#">public sealed class AuthenticationMethod { private readonly string name; private readonly int value; public static readonly AuthenticationMethod FORMS = new AuthenticationMethod(1, "FORMS"); public static readonly AuthenticationMethod WINDOWSAUTHENTICATION = new AuthenticationMethod(2, "WINDOWS"); public static readonly AuthenticationMethod SINGLESIGNON = new AuthenticationMethod(3, "SSN"); private AuthenticationMethod(int value, string name) { this.name = name; this.value = value; } public override string ToString() { return name; } }</code>
Taipkan mod penghitungan selamat menyediakan cara yang lebih fleksibel dan selamat untuk mewakili penghitungan dengan nilai rentetan. Ia menghapuskan keperluan untuk atribut tersuai dan menyediakan cara yang konsisten dan intuitif untuk mengakses perwakilan rentetan penghitungan.
Atas ialah kandungan terperinci Bagaimana cara terbaik mewakili nilai rentetan dalam enum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!