Heim > Backend-Entwicklung > C++ > Wie aktiviert das C# [Flags] Enum -Attribut bitgewise Vorgänge bei Aufzählungen?

Wie aktiviert das C# [Flags] Enum -Attribut bitgewise Vorgänge bei Aufzählungen?

Mary-Kate Olsen
Freigeben: 2025-02-02 14:46:09
Original
245 Leute haben es durchsucht

How Does the C# [Flags] Enum Attribute Enable Bitwise Operations on Enumerations?

Verstehen Sie [Flags] in C#Aufzählten Attributen

Das -attribut von c#wird verwendet, um die Aufzählung zu definieren, die mehrere mögliche Werte darstellt, nicht ein einzelner Wert. Die Liften, die dieses Attribut verwenden, können zusammen mit dem Bit -Operation -Symbol verwendet werden, um mehrere Werte in einer Variablen zu kombinieren und zu analysieren.

Put- und Aufzählungswert [Flags]

Das Attribut selbst wendet den Bediener nicht automatisch an. Der Wert der Aufzählungsmitglieder muss angemessen zugewiesen werden, um den Bit -Betrieb zu unterstützen. Wenn der Wert nicht angezeigt wird, erhöht sich der Wert von 0, was anstelle des Computerorts nicht ordnungsgemäß funktioniert. Die korrekte Aufzählungsanweisung

[Flags] Um die Aufzählung und den Bitoperationen effektiv zu verwenden, sollte der Wert des Aufzählungsmitglieds die Leistung von 2 sein. Zum Beispiel:

Rufen Sie einen einzelnen Wert

ab

Um den einzelnen Wert aus aufgezählt zu werden, können Sie die Methode

verwenden oder die Position und den Betrieb ausführen:
[Flags]
public enum MyColors
{
    Yellow = 1,
    Green = 2,
    Red = 4,
    Blue = 8
}
Nach dem Login kopieren

Verwenden Sie für die vorherige Version des .NET 4 die Position und den Betrieb:

<底> Das Prinzip der unteren Schicht [Flags] HasFlag()

Der Grund für die Verwendung der Leistung von 2 in der Aufzählung ist, dass sie direkt in binäre Darstellungen umwandeln. Bei Verwendung der Position oder der Kombination des Vorgangs spiegelt der erzeugte binäre Wert die Beschriftung von Enable wider. In ähnlicher Weise darf ein einzelnes Logo gemäß Position und Betrieb getestet werden.
if (myProperties.AllowedColors.HasFlag(MyColor.Yellow)) { ... }
Nach dem Login kopieren

None Wert

if ((myProperties.AllowedColors & MyColor.Yellow) == MyColor.Yellow) { ... }
Nach dem Login kopieren

Der Wert kann als Platzhalter ohne Zeichen verwendet werden. Es kann jedoch nicht für Position und Betrieb verwendet werden, da es immer das Ergebnis von Null berechnet. Sie können einen logischen Vergleich verwenden, um zu überprüfen, ob ein Bit festgelegt ist:

Das obige ist der detaillierte Inhalt vonWie aktiviert das C# [Flags] Enum -Attribut bitgewise Vorgänge bei Aufzählungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage