C#에서 열거 형을 열거하는 방법
이 자습서에서는 C#에서enum
유형을 열거하는 방법을 소개하고 일부 코드 예제 목록을 통해이를 보여줍니다.
이전 튜토리얼에서는 C#을 사용하여enum
에서int
값을 검색하는 방법을 배웠습니다. 지난 자습서에서 언급했듯이Enumeration
또는enum
은 기본 정수 유형의 명명 된 상수 집합을 정의하는 사용자 정의 값 유형입니다.
enum
의 일반적인 구문은 다음과 같습니다.
enum<enum_name> { enumeration_list }
;
enum_name
은 열거 유형의 이름을 지정하고enumeration_list
는 쉼표로 구분 된 식별자 목록을 지정합니다.
다음으로 C#의 모든enum
값을 반복하거나 열거하는 방법을 살펴 보겠습니다. ‘열거 형’을 열거하는 방법에는 여러 가지가 있습니다. 다음 예는 이러한 방법을 보여줍니다.
enum
을 열거 할Enum.GetNames()
메서드
목표는Enum.GetName()
메소드를 사용하여열거 목록
에있는 상수 이름 배열을 가져 오는 것입니다. foreach
루프를 사용하여 이름 배열을 인쇄합니다.
using System;
public class Example1 {
public enum Fruits { Apple, Banana, Orange, Watermelon, Mango, Strawberry }
public static void Main() {
foreach (string fruit in Enum.GetNames(typeof(Fruits))) {
Console.WriteLine(fruit);
}
}
}
출력:
Apple
Banana
Orange
Watermelon
Mango
Strawberry
C#에서enum
을 열거하는Enum.GetValues()
메서드
또 다른 접근 방식은열거 목록
에서 상수 값의 배열을 검색하는Enum.GetValues()
메서드를 사용하는 것입니다. 또한 foreach
루프를 사용하여 각 값을 인쇄합니다.
using System;
public class Example2 {
public enum Subjects { Maths, Biology, English, Chemistry, Physics, History }
public static void Main() {
foreach (Subjects sub in Enum.GetValues(typeof(Subjects))) {
Console.WriteLine(sub);
}
}
}
출력:
Maths
Biology
English
Chemistry
Physics
History
Enum.GetValues()
메서드 사용에 대한 전체 그림을 얻기 위해 몇 가지 예제를 더 논의 해 보겠습니다.
더 많은 예
예 1:
using System;
public class Demo1 {
enum Colors { White, Black, Red, Green, Blue }
;
enum Planets { Earth = 0, Jupiter = 10, Saturn = 20, Mars = 30, Venus = 40 }
;
public static void Main() {
Console.WriteLine("The list of Colors Enum are:");
foreach (int i in Enum.GetValues(typeof(Colors))) Console.WriteLine(i);
Console.WriteLine();
Console.WriteLine("The list of Planets Enum are:");
foreach (int i in Enum.GetValues(typeof(Planets))) Console.WriteLine(i);
}
}
출력:
The list of Colors Enum are:
0
1
2
3
4
The list of Planets Enum are:
0
10
20
30
40
위 예의 첫 번째 부분에서 배열 요소는열거
상수의 이진 값 (즉, 부호없는 값)으로 정렬됩니다.
예 2:
using System;
enum SignValue { NegativeVal = -1, ZeroVal = 0, PositiveVal = 1 }
;
public class MainValue {
public static void Main() {
foreach (var val in Enum.GetValues(typeof(SignValue))) {
Console.WriteLine("{0,3} 0X{0:X8} {1}", (int)val, ((SignValue)val));
}
}
}
출력:
0 ZeroVal 0X00000000
1 PositiveVal 0X00000001
-1 NegativeVal 0XFFFFFFFF
위의 예는 0, 음수, 양수 값을 포함하는열거 목록
에 대해Enum.GetValues()
메소드가 반환 한 배열에 대한 정보를 보여줍니다.
비고:
Enum.GetValues()
메서드는enum
의 각 요소에 대한 값을 포함하는 배열을 반환합니다. 여러 요소의 값이 동일한 경우 생성 된 배열에 중복 값이 포함됩니다. 이 경우 반환 된 배열의 각 값으로Enum.GetNames()
메서드를 호출해도 중복 값을 가진 요소에 할당 된 고유 이름이 복원되지 않습니다. 모든 열거 형 멤버의 이름을 성공적으로 검색하려면Enum.GetNames()
메서드를 호출하는 것이 좋습니다.