Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 열거형(Enum) 멤버를 비교하는 방법 – CompareTo() 메서드 활용

C#에서 열거형(Enum) 멤버끼리 비교하려면 Enum.CompareTo() 메서드를 사용합니다. 이 메서드는 현재 인스턴스와 지정한 객체를 비교하여, 현재 값이 더 크면 양수, 작으면 음수, 같으면 0을 반환합니다.

열거형 정의하기

먼저 학생들의 순위 값을 담은 열거형을 선언합니다.

enum StudentRank { Tom = 3, Henry = 2, Amit = 1 };

CompareTo() 메서드로 값 비교하기

이제 compareTo() 메서드를 호출해 하나의 열거형 값을 다른 값과 비교합니다. 반환값이 0보다 큰지 검사하면 첫 번째 값이 더 큰지 쉽게 판단할 수 있습니다.

Console.WriteLine( "{0}{1}", student1.CompareTo(student2) > 0 ? "예" : "아니요", Environment.NewLine );

전체 예제 코드

다음은 C#에서 열거형 멤버를 비교하는 전체 소스 코드입니다.

using System;
public class Demo {
    enum StudentRank { Tom = 3, Henry = 2, Amit = 1 };
    public static void Main() {
        StudentRank student1 = StudentRank.Tom;
        StudentRank student2 = StudentRank.Henry;
        StudentRank student3 = StudentRank.Amit;
        Console.WriteLine("{0}의 순위가 {1}보다 높습니까?", student1, student2);
        Console.WriteLine( "{0}{1}", student1.CompareTo(student2) > 0 ? "예" : "아니요", Environment.NewLine );
    }
}

실행 결과

Tom의 순위가 Henry보다 높습니까?

실행 결과에서 확인할 수 있듯이 Tom(3)이 Henry(2)보다 순위가 높으므로 CompareTo() 메서드는 양수를 반환하고, 그에 따라 '예'가 출력됩니다. 이처럼 CompareTo() 메서드를 활용하면 열거형 값 간의 대소 관계를 간단하게 비교할 수 있습니다.