Junior — Middle
რის დროს უკეთესია გამოიყენოთ ფლაგებით enum ტიპი ბიტური კომბინაციებისათვის?
sobes.tech AI
პასუხი AI-სგან
C# dilində bayraq tipləri (bit bayraqları) istifadə olunur, bu da birgə istifadə edilə bilən boolean seçimlər və ya vəziyyətlər toplusunu təmsil edir. Bu yanaşma, bir neçə müstəqil xüsusiyyəti tək bir ədəddə saxlamaq lazım olduqda əlverişlidir.
İstifadə halları:
- Bir neçə məntiqi bayrağı səmərəli saxlamaq və ötürmək lazım olduqda.
- Müxtəlif vəziyyətlərin müxtəlif kombinasiyaları mümkün olduqda və müəyyən bir bayrağın olub-olmadığını sürətlə yoxlamaq üçün bit əməliyyatlarından istifadə olunduqda.
- Parametrləri konfiqurasiya etmək üçün, məsələn, iş rejimləri, giriş hüquqları, konfiqurasiya seçimləri.
Misal:
[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
Burada giriş hüquqlarını birləşdirə və onları bit əməliyyatları ilə yoxlaya bilərsiniz. Bu yanaşma yaddaşdan qənaət edir və çoxsaylı seçimlərlə işləməyi sadələşdirir.