728x90
반응형
728x170
■ Enum 클래스의 HasFlag 메소드를 사용해 플래그 조합에서 플래그 설정 여부를 구하는 방법을 보여준다.
▶ PetType.cs
namespace TestProject
{
/// <summary>
/// 애완동물 타입
/// </summary>
[Flags]
public enum PetType
{
/// <summary>
/// 없음
/// </summary>
None = 0,
/// <summary>
/// 개
/// </summary>
Dog = 1,
/// <summary>
/// 고양이
/// </summary>
Cat = 2,
/// <summary>
/// 새
/// </summary>
Bird = 4,
/// <summary>
/// 토끼
/// </summary>
Rabbit = 8,
/// <summary>
/// 기타
/// </summary>
Other = 16
}
}
▶ Program.cs
namespace TestProject;
/// <summary>
/// 프로그램
/// </summary>
class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region 프로그램 시작하기 - Main()
/// <summary>
/// 프로그램 시작하기
/// </summary>
private static void Main()
{
PetType[] petTypeArray =
{
PetType.None,
PetType.Dog | PetType.Cat,
PetType.Dog
};
int noneCount = 0;
int dogCount = 0;
foreach(PetType petType in petTypeArray)
{
if(petType.Equals(PetType.None))
{
noneCount++;
}
else if(petType.HasFlag(PetType.Dog))
{
dogCount++;
}
}
Console.WriteLine("애완동물이 없는 경우 : {0}/{1}", noneCount, petTypeArray.Length);
Console.WriteLine("개가 있는 경우 : {0}/{1}", dogCount , petTypeArray.Length);
}
#endregion
}
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON/.NET6] 엣지 브라우저(Edge) 실행하기 (0) | 2022.09.28 |
---|---|
[C#/COMMON] B+ 트리 파일 사용하기 (0) | 2022.09.28 |
[C#/COMMON/.NET6] Guid 구조체 : 함수 매개 변수에서 디폴트 값 설정하기 (0) | 2022.09.26 |
[C#/COMMON/.NET6] DateTime 구조체 : SpecifyKind 정적 메소드를 사용해 UTC 날짜/시간 구하기 (0) | 2022.09.26 |
[C#/COMMON/.NET6] Enum 클래스 : 플래그 조합에서 플래그 설정 여부 구하기 (0) | 2022.09.26 |
[C#/COMMON/.NET6] XmlDocument 클래스 : LoadXml 메소드를 사용해 XML 문자열 로드하기 (0) | 2022.09.17 |
[C#/COMMON/.NET6] XmlNode 클래스 : Attributes 속성을 사용해 XML 노드 특성 값 구하기 (0) | 2022.09.17 |
[C#/COMMON/.NET6] XmlElement 클래스 : SelectSingleNode 메소드를 사용해 단일 노드 선택하기 (0) | 2022.09.17 |
[C#/COMMON/.NET6] XmlDocument 클래스 : Load 메소드를 사용해 XML 파일 로드하기 (0) | 2022.09.17 |
[C#/COMMON/.NET6] Guid 구조체 : 유일한 부호없는 배정도 정수 구하기 (0) | 2022.09.10 |
댓글을 달아 주세요