Junior — Middle
W jakich sytuacjach lepiej stosować typ wyliczenia z flagami do kombinacji bitowych?
sobes.tech AI
Odpowiedź od AI
Typ wyliczeń z flagami (flagami bitowymi) w C# służy do reprezentowania zestawu opcji lub stanów logicznych, które można łączyć razem. Takie podejście jest przydatne, gdy trzeba przechowywać kilka niezależnych cech w jednej liczbie.
Przypadki zastosowania:
- Gdy konieczne jest efektywne przechowywanie i przekazywanie wielu flag logicznych.
- Gdy istnieją różne kombinacje stanów i trzeba szybko sprawdzać obecność konkretnej flagi za pomocą operacji bitowych.
- Do konfigurowania parametrów, np. trybów pracy, uprawnień dostępu, opcji konfiguracji.
Przykład:
[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
Tutaj można łączyć uprawnienia i sprawdzać je za pomocą operacji bitowych. Takie podejście oszczędza pamięć i upraszcza logikę pracy z wieloma opcjami.