C#의 Enum에서 Int 값을 얻는 방법

Payel Ganguly 2023년10월12일
  1. enumint로 변환하려면 Cast 입력
  2. enumint로 변환 할static 클래스
  3. GetTypeCode()를 사용하여enumint로 변환
  4. 더 많은 예
C#의 Enum에서 Int 값을 얻는 방법

이 자습서에서는 C#의enum에서int 값을 가져 오는 방법을 설명하고 C#의 열거 유형에 대한 개요를 수집하기 위해 몇 가지 일반적인 코드 예제를 나열합니다.

enum은 사용자 정의 데이터 유형 또는 일반적으로 기본 정수 유형의 상수 명명 된 값 집합을 정의하는 값 유형입니다. enum 키워드는 코드 내에서 열거 형을 정의합니다. 기본 예는 다음과 같습니다.

enum Name { Joe, Rick, John, Matt }

사전 정의 된 상수 값의 열거 유형은 기본적으로 int데이터 유형입니다. 그러나 기본 정수 유형은sbyte,byte,short,ushort,int,uint,longulong과 같은 다른 정수 숫자 유형으로 명시 적으로 설정할 수 있습니다. 아래 표에서는 C#에서 미리 정의 된 각 정수 유형의 크기와 범위를 설명합니다.

C# 키워드 정수 크기 범위
sbyte 서명 된 8 비트 [-128, 127]
byte 부호없는 8 비트 [0, 255]
short 서명 된 16 비트 [-32,768, 32,767]
ushort 부호없는 16 비트 [0, 65,535]
int 서명 된 32 비트 [-2,147,483,648, 2,147,483,647]
uint 부호없는 32 비트 [0, 4,294,967,295]
long 서명 된 64 비트 [-9,223,372,036,854,775,808, 9,223,372,036,854,775,807]
ulong 부호없는 64 비트 [0, 18,446,744,073,709,551,615]

enumint로 변환하려면 Cast 입력

enum에서int 값을 가져 오는 것은 데이터 유형에 문제가있는 것만 큼 일반적이지 않습니다. 다음 예를 참조하십시오.

public enum Days { Numbers = 20, DayType = 3 }
int abc = (int)Days.Numbers;
Console.WriteLine(abc);

출력:

20

프로그래머에게는 약간 까다로울 수있는enum에 대한 다양한 기본 유형이있을 수 있습니다. 위 코드는Days enumint 값을abc에 저장합니다. 이 경우 Typecasting 방법을 사용하여 엔티티의 데이터 유형을 다른 데이터 유형으로 변경하여 변수를 올바르게 사용합니다. 그러나 형변환을 사용하는 것은 항상 선호되는 것은 아닙니다.

Typecasting에 대한 종속성이없고 매우 간단 할 수있는 방법이 있습니다. 이러한 방법은 아래 코드 예제와 함께 자세히 설명됩니다.

enumint로 변환 할static 클래스

using System;

class Demo {
  public static class Subjects {
    public const int maths = 2;
    public const int science = 3;
    public const int english = 4;
    public const int history = 5;
  }
  public static void Main() {
    int xyz = Subjects.science;
    Console.WriteLine(xyz);
  }
}

출력:

3

위의 코드는Subjects.science가 올바른 정수 값을 타입 캐스팅 할 생각없이3의 올바른 값을 얻는 것을 보여줍니다.

GetTypeCode()를 사용하여enumint로 변환

using System;

class Demo {
  public enum Subjects { maths, science, english, history }
  public static void Main() {
    Subjects Maths = Subjects.maths;
    Object sub = Convert.GetTypeCode(Maths);
    Console.WriteLine(sub);
  }
}

출력:

Int32

어떤 프로그래머라도static const를 사용하지 않으려면 위의GetTypeCode()메서드를 사용할 수 있습니다. 위의 모든 코드는 열거 형 유형에서 정수를 성공적으로 추출합니다. 아래의 예는 더 많은 아이디어를 얻는 데 도움이 될 것입니다.

더 많은 예

예 1:

using System;

class Demo {
  public enum Positions { Role = 2, Project = 3, Jobs = 4 }
  public static void Main() {
    int a = (int)Positions.Jobs;
    Console.WriteLine(a);
  }
}

출력:

4

예 2:

using System;

class Demo {
  public enum Galaxy : long { Sun = 1, S5HVS1 = 2, HD140283 = 2147977653 }
  ;

  public static void Main() {
    long solar = (long)Galaxy.HD140283;
    Console.WriteLine(solar);
  }
}

출력:

2147977653

관련 문장 - Csharp Integer

관련 문장 - Csharp Enum