C# 열거 중의 비트 연산 권한 분배에 대한 간단한 설명

1350 단어
일반적으로 사용되는 비트 연산에는 (&), 또는 (|) 및 비(~)가 있습니다. 예를 들어,
1 & 0 = 0, 1 | 0 = 1, ~1 = 0
권한을 설계할 때 우리는 권한 관리 조작을 C#비트 운산으로 바꾸어 처리할 수 있다.
첫 번째 단계에서는 모든 권한 관리 작업을 나타내는 열거를 설정합니다.
 
  
[Flags]
public enum Permissions
{
Insert = 1,
Delete = 2,
Update = 4,
Query = 8
}

[Flags]는 이 매거진이 C#비트 연산을 지원할 수 있음을 나타낸다. 매거진의 모든 값은 우리가 2의 n차원으로 값을 부여한다. 이렇게 2진법으로 표시할 때 마침 1 = 0001, 2 = 0010, 4 = 0100, 8 = 1000 등이다. 한 명은 하나의 권한을 나타내고 1은 이 권한이 있음을 나타내고 0은 없음을 나타낸다.
다음은 권한에 대한 연산입니다.
1. 권한의 덧셈, 사용과 연산으로 실현한다.우리는 0001 | 0100 = 0101을 알고 있습니다. 이렇게 하면 1위와 3위의 권한이 동시에 관리된다는 것을 의미합니다. 매거는 다음과 같습니다.
Permissions per = Permissions.Insert | Permissions.Update
2. 권한의 감법은 연산+비연산으로 이루어진다. 위에서 Insert 권한을 제거하려면 다음과 같이 조작한다.
Permissions per &= ~Permissions.Insert 즉 0101 & ~0001 = 0101 & 1110 = 0100
3. 권한의 판단, 사용과 연산, 한 사용자가 이 조작 권한을 가지고 있는지 판단할 때 사용자의 권한과 조작 권한을 연산하고 얻은 결과가 조작 권한 관리라면 사용자가 이 권한을 가지고 있음을 나타낸다.
 
  
 Permissions per = Permissions.Insert | Permissions.Update;
  if(per & PermissionsPermissions.Insert = Permissions.Insert)
  {
  //
  }

비교 과정은 0101 & 0001 = 0001이고 0001의 0자리는 C#위 연산으로 다른 위치를 0으로 설정하여 1만 비교하는 이 자리로 변한다.

좋은 웹페이지 즐겨찾기