Opérations sur les bits courantes dans les énumérations C#
Les opérations au niveau des bits permettent une manipulation efficace des bits individuels dans une énumération, ce qui est très efficace pour gérer les valeurs des indicateurs. Voici un exemple d'utilisation de la syntaxe C# pour effectuer des opérations courantes sur une énumération marquée comme attribut [Flags]
:
Définir le bit
<code class="language-csharp">FlagsEnum flags = FlagsEnum.None; flags |= FlagsEnum.Bit4; // 设置位4</code>
Effacer le bit
<code class="language-csharp">flags &= ~FlagsEnum.Bit4; // 清除位4</code>
Basculer la position
<code class="language-csharp">flags ^= FlagsEnum.Bit4; // 切换位4 (已设置则清除,已清除则设置)</code>
Position d'essai
<code class="language-csharp">if ((flags & FlagsEnum.Bit4) != 0) // 测试位4是否已设置</code>
Utiliser les méthodes d'extension
Pour simplifier les opérations sur les bits, vous pouvez utiliser des méthodes d'extension personnalisées :
<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>
Utiliser les méthodes d'extension
<code class="language-csharp">SomeType value = SomeType.Grapes; bool isGrapes = value.Is(SomeType.Grapes); // true bool hasGrapes = value.Has(SomeType.Grapes); // true</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!