1.18 Enumerierte Member in einer Bit-Maske verwenden
Problem
Eine Enumeration von Werten soll als Bit-Flags agieren können, die über OR verknüpft werden können, um eine Kombination der Werte (Flags) in der Enumeration zu erstellen.
Lösung
Markieren Sie die Enumeration mit dem Attribut Flags
:
[Flags] enum Language { CSharp = 0x0001, VBNET = 0x0002, VB6 = 0x0004, Cpp = 0x0008 }
Um die Elemente in dieser Enumeration zu verknüpfen, muss man dann nur noch den OR-Operator (|
) verwenden. Zum Beispiel:
Language lang = Language.CSharp | Language.VBNET;
Diskussion
Wird einer Enumeration das Attribut Flags
hinzugefügt, werden die Elemente dieser Enumeration als individuelle Bit-Flags markiert, die über OR verknüpft werden können. Eine Enumeration von Flags wird ...
Get C# Kochbuch now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.