Junior — Middle
Em que situações é melhor usar um tipo de enumeração com flags para combinações de bits?
sobes.tech IA
Resposta da IA
O tipo de enumerações com flags (flags de bits) em C# é usado para representar um conjunto de opções ou estados booleanos que podem ser combinados. Essa abordagem é útil quando é necessário armazenar várias características independentes em um único número.
Situações para aplicação:
- Quando é necessário armazenar e transmitir eficientemente múltiplas flags lógicas.
- Quando existem várias combinações de estados e é preciso verificar rapidamente a presença de uma flag específica usando operações bit a bit.
- Para configurar parâmetros, por exemplo, modos de operação, permissões de acesso, opções de configuração.
Exemplo:
[Flags]
enum FileAccess {
Read = 1, // 0001
Write = 2, // 0010
Execute = 4, // 0100
Delete = 8 // 1000
}
FileAccess permissions = FileAccess.Read | FileAccess.Write;
bool canWrite = (permissions & FileAccess.Write) == FileAccess.Write; // true
Aqui, é possível combinar permissões e verificá-las usando operações bit a bit. Essa abordagem economiza memória e simplifica a lógica de trabalho com múltiplas opções.