C# 列挙型での一般的なビット操作
ビット単位の操作により、列挙内の個々のビットを効率的に操作できるため、フラグ値の管理に非常に効果的です。以下は、C# 構文を使用して、[Flags]
属性としてマークされた列挙に対して一般的な操作を実行する例です。
ビットをセット
<code class="language-csharp">FlagsEnum flags = FlagsEnum.None; flags |= FlagsEnum.Bit4; // 设置位4</code>
クリアビット
<code class="language-csharp">flags &= ~FlagsEnum.Bit4; // 清除位4</code>
位置を切り替えます
<code class="language-csharp">flags ^= FlagsEnum.Bit4; // 切换位4 (已设置则清除,已清除则设置)</code>
テストポジション
<code class="language-csharp">if ((flags & FlagsEnum.Bit4) != 0) // 测试位4是否已设置</code>
拡張メソッドを使用する
ビット演算を簡素化するには、カスタム拡張メソッドを使用できます。
<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>
拡張メソッドの使用
以上がC# 列挙型でビット単位の操作を効率的に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。