Junior — Middle
Kokiose situacijose geriau naudoti enum tipą su ženklais bitų kombinacijoms?
sobes.tech AI
Atsakymas iš AI
C# kalboje žymenų (bitinių žymenų) tipas naudojamas kaip boolean parinkčių ar būsenų rinkinys, kurį galima sujungti kartu. Šis požiūris yra naudingas, kai reikia saugoti kelis nepriklausomus bruožus viename skaičiuje.
Naudojimo situacijos:
- Kai reikia efektyviai saugoti ir perduoti kelis loginės reikšmės žymenis.
- Kai yra galimos įvairios būsenų kombinacijos ir reikia greitai patikrinti, ar tam tikras žymeklis yra, naudojant bitines operacijas.
- Konfigūruojant parametrus, pvz., darbo režimus, prieigos teises, konfigūracijos parinktis.
Pavyzdys:
[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
Čia galima sujungti prieigos teises ir patikrinti jas naudojant bitines operacijas. Šis požiūris taupo atmintį ir supaprastina darbą su keliomis galimybėmis.