에서 [플래그] 속성을 이해합니다
속성은 비트 시일 조작을 마술처럼 활성화하지 않습니다. 핵심 기능은 [Flags]
메소드의 출력을 향상시키는 것입니다.
[Flags] public enum Options { None = 0, Option1 = 1, Option2 = 2, Option3 = 4, Option4 = 8 }
는 수치 합을 보여줍니다.
<<> 결정적으로, [Flags]
는 2의 전력을 자동으로 할당하지 않습니다. 당신은 ToString()
<:> 올바른 사용 :
enum Suits { Spades = 1, Clubs = 2, Diamonds = 4, Hearts = 8 } [Flags] enum SuitsFlags { Spades = 1, Clubs = 2, Diamonds = 4, Hearts = 8 } var str1 = (Suits.Spades | Suits.Diamonds).ToString(); // "5" var str2 = (SuitsFlags.Spades | SuitsFlags.Diamonds).ToString(); // "Spades, Diamonds"
플래그가 설정되어 있는지 확인하려면 SuitsFlags
(.NET 4 이상)을 사용하십시오.
Suits
[Flags]
위 내용은 [플래그] 속성은 C#에서 열렬한 기능을 어떻게 향상 시킵니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!