Atribut C#digunakan untuk menentukan penghitungan yang mewakili pelbagai nilai yang mungkin, bukan satu nilai. Lif menggunakan atribut ini boleh digunakan bersama -sama dengan simbol operasi bit, untuk menggabungkan dan menganalisis pelbagai nilai dalam pembolehubah.
Nilai meletakkan dan penghitungan [Flags]
Atribut itu sendiri tidak secara automatik memohon pengendali. Nilai ahli penghitungan mesti diberikan dengan sewajarnya untuk menyokong operasi BIT. Jika nilai tidak dipaparkan, nilai akan meningkat dari 0, yang tidak akan berfungsi dengan baik di tempat pengkomputeran. pernyataan penghitungan yang betul
[Flags]
Untuk menggunakan operasi penghitungan dan bit secara berkesan, nilai ahli penghitungan mestilah kuasa 2. Contohnya:
mengambil nilai tunggal
Untuk mengambil nilai tunggal dari yang disenaraikan, anda boleh menggunakan kaedahatau melaksanakan kedudukan dan operasi:
[Flags] public enum MyColors { Yellow = 1, Green = 2, Red = 4, Blue = 8 }
Untuk versi sebelumnya .net 4, gunakan kedudukan dan operasi:
<底> Prinsip Lapisan Bawah [Flags]
HasFlag()
Alasan untuk menggunakan kuasa 2 dalam penghitungan adalah bahawa mereka terus menukar kepada perwakilan binari. Apabila menggunakan kedudukan atau gabungan operasi, nilai binari yang dihasilkan mencerminkan label membolehkan. Begitu juga, satu logo dibenarkan untuk diuji mengikut kedudukan dan operasi.
if (myProperties.AllowedColors.HasFlag(MyColor.Yellow)) { ... }
if ((myProperties.AllowedColors & MyColor.Yellow) == MyColor.Yellow) { ... }
Atas ialah kandungan terperinci Bagaimanakah atribut enum C# [Flags] membolehkan operasi bitwise pada penghitungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!