Junior — Middle
Millistes olukordades on parem kasutada lipudega enum-tüüpi bitikombinatsioonide jaoks?
sobes.tech AI
Vastus AI-lt
C# keeles märksõnade (bitimärgiste) tüüp kasutatakse loendit valikute või olekute kogumist, mida saab koos kasutada. See lähenemine on kasulik, kui tuleb salvestada mitu sõltumatut omadust ühes arvus.
Rakenduskohad:
- Kui on vaja tõhusalt salvestada ja edastada mitmeid loogilisi märgiseid.
- Kui on erinevad olekute kombinatsioonid ja on vaja kiiresti kontrollida konkreetse märgise olemasolu bitimõõtmisega.
- Parameetrite seadistamiseks, näiteks töörežiimid, juurdepääsuõigused, konfiguratsioonivalikud.
Näide:
[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
Siin saab kombineerida juurdepääsuõigusi ja kontrollida neid bitimõõtmisega. See lähenemine säästab mälu ja lihtsustab mitme valiku töötlemist.