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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.