Maison > développement back-end > C++ > Comment puis-je utiliser efficacement les opérations au niveau du bit sur les énumérations C# ?

Comment puis-je utiliser efficacement les opérations au niveau du bit sur les énumérations C# ?

Patricia Arquette
Libérer: 2025-01-13 11:11:42
original
857 Les gens l'ont consulté

How Can I Efficiently Use Bitwise Operations on C# Enums?

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>
Copier après la connexion

Effacer le bit

<code class="language-csharp">flags &= ~FlagsEnum.Bit4; // 清除位4</code>
Copier après la connexion

Basculer la position

<code class="language-csharp">flags ^= FlagsEnum.Bit4; // 切换位4 (已设置则清除,已清除则设置)</code>
Copier après la connexion

Position d'essai

<code class="language-csharp">if ((flags & FlagsEnum.Bit4) != 0) // 测试位4是否已设置</code>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal