Sobes.tech
Back to questions
Junior — Middle
64

Можете объяснить, что означают флаги Enum и как их использовать в программировании?

Answer from AI

sobes.tech AI

Флаги Enum в C# — это перечисления, которые позволяют комбинировать несколько значений с помощью побитовых операций. Для этого к перечислению применяется атрибут [Flags]. Каждый элемент Enum обычно задается как степень двойки (1, 2, 4, 8 и т.д.), чтобы можно было объединять значения через побитовое ИЛИ (|).

Пример использования:

[Flags]
public enum FileAccess
{
    Read = 1,       // 0001
    Write = 2,      // 0010
    Execute = 4     // 0100
}

// Объединение флагов
FileAccess permissions = FileAccess.Read | FileAccess.Write;

// Проверка наличия флага
bool canRead = (permissions & FileAccess.Read) == FileAccess.Read;

Это удобно для хранения и проверки нескольких булевых опций в одном значении.