I C# kan du utföra logiska operationer på heltalsobjekt per bit. Betydelsen av logisk operation per bit är att varje bit i objektet som ska opereras tas i tur och ordning, och det logiska operationsresultatet av varje bit är varje bit av resultatvärdet. Bitlogikoperatorerna som stöds av C# visas i följande figur:
Grundläggande behörighetsdesign:
<summary>
///權限列舉 </summary> [FlaggaAttribut] publicenumTillstånd
{ Beskrivning ("Ej konfigurerad")] Ingen=0, [Beskrivning("Skapa")] Skapa=1, [Beskrivning ("Läs")] Read=2, [Beskrivning ("Uppdatering")] Uppdatering=4, [Beskrivning ("Radera")] Delete=8, [Beskrivning ("Alla funktioner")] Alla=Skapa| Läs| Uppdatering| Radera
}
Teknik 1: Använd effektvärdet 2 som uppräkningsvärde för framtida bitoperationer (&OCH, |ELLER, ^XOR).
Tips 2: Lägg till en ny behörighetsåtgärd till den befintliga behörigheten. (OR-operation)
Permissionspermission=Permissions.None; tillstånd=tillstånd| Permissions.Create; MessageBox.Show(permission. ToString()); Resultat:Skapa
Tips 3: Lägg till taggen [FlagsAttribute].
Permissionspermission=Permissions.None; tillstånd=tillstånd| Permissions.Create; MessageBox.Show(permission. ToString()); Result:Create([FlagsAttribute] påverkar inte resultatet)
tillstånd=tillstånd| Behörigheter.Läs MessageBox.Show(permission. ToString()); Resultat: 3 ([FlagsAttribute] ej tillagd) Resultat:Skapa,Läs (lägg till [FlagsAttribute])
Tips 4: Ta bort en viss behörighetsåtgärd från den befintliga behörigheten. (XOR och AND-datorapplikationer)
Permissionspermission=Permissions.None; tillstånd=tillstånd| Permissions.Create; MessageBox.Show(permission. ToString()); Resultat:Skapa
tillstånd=tillstånd| Behörigheter.Läs tillstånd=tillstånd| Permissions.Update; MessageBox.Show(permission. ToString()); Resultat:Skapa, Läsa, Uppdatera
permission=(permission&(Permissions.All^Permissions.Read)); MessageBox.Show(permission. ToString()); Resultat:Skapa,Uppdatera
Tips 5: Ta reda på om du har en viss behörighet i den aktuella behörigheten (AND-operationen)
Permissionspermission=Permissions.None; tillstånd=tillstånd| Permissions.Create; MessageBox.Show(permission. ToString()); Resultat:Skapa
tillstånd=tillstånd| Behörigheter.Läs tillstånd=tillstånd| Permissions.Update; MessageBox.Show(permission. ToString()); Resultat:Skapa, Läsa, Uppdatera
permission=(permission&(Permissions.All^Permissions.Read)); MessageBox.Show(permission. ToString()); Resultat:Skapa,Uppdatera
boolIsCreatable=false; if((permission&Permissions.Create)==Permissions.Create)
{ IsCreatable=sann;
} annars
{ IsCreatable=falsk;
} MessageBox.Show(IsCreatable.ToString()); Resultat: Sant
|