Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menggunakan Operasi Bitwise dengan Cekap pada C# Enums?
Operasi bit biasa dalam penghitungan C#
Operasi bitwise membenarkan manipulasi yang cekap bagi bit individu dalam penghitungan, yang sangat berkesan untuk mengurus nilai bendera. Berikut ialah contoh menggunakan sintaks C# untuk melaksanakan operasi biasa pada penghitungan yang ditandakan sebagai atribut [Flags]
:
Set bit
<code class="language-csharp">FlagsEnum flags = FlagsEnum.None; flags |= FlagsEnum.Bit4; // 设置位4</code>
Sedikit jelas
<code class="language-csharp">flags &= ~FlagsEnum.Bit4; // 清除位4</code>
Togol kedudukan
<code class="language-csharp">flags ^= FlagsEnum.Bit4; // 切换位4 (已设置则清除,已清除则设置)</code>
Kedudukan ujian
<code class="language-csharp">if ((flags & FlagsEnum.Bit4) != 0) // 测试位4是否已设置</code>
Gunakan kaedah sambungan
Untuk memudahkan operasi bit, anda boleh menggunakan kaedah sambungan tersuai:
<code class="language-csharp">namespace EnumExtensions { public static class EnumerationExtensions { public static bool Has<T>(this Enum type, T value) => ((int)type & (int)value) == (int)value; // ... 其他扩展方法 } }</code>
Menggunakan kaedah sambungan
<code class="language-csharp">SomeType value = SomeType.Grapes; bool isGrapes = value.Is(SomeType.Grapes); // true bool hasGrapes = value.Has(SomeType.Grapes); // true</code>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Operasi Bitwise dengan Cekap pada C# Enums?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!