Sobes.tech
Junior — Middle

V akých situáciách je lepšie použiť typ výčtu s vlajkami pre bitové kombinácie?

sobes.tech AI

Odpoveď od AI

Typ enumerácie s príznakmi (bitové príznaky) v C# sa používa na reprezentáciu sady booleovských možností alebo stavov, ktoré je možné kombinovať dohromady. Tento prístup je užitočný, keď je potrebné uložiť niekoľko nezávislých vlastností do jedného čísla.

Situácie na použitie:

  • Keď je potrebné efektívne uložiť a prenášať viacero logických príznakov.
  • Keď sú možné rôzne kombinácie stavov a je potrebné rýchlo overiť prítomnosť konkrétneho príznaku pomocou bitových operácií.
  • Na konfiguráciu parametrov, napríklad režimov práce, prístupových práv, konfiguračných možností.

Príklad:

[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

Tu je možné kombinovať práva a kontrolovať ich pomocou bitových operácií. Tento prístup šetrí pamäť a zjednodušuje logiku práce s viacerými možnosťami.