2013-10-30 4 views
6

두 가지 변환 방법 중 하나를 선택할 수 없습니다.int best practice to

public static int EnumToInt(Enum enumValue) 
{ 
    return Convert.ToInt32(enumValue); 
} 

: 2 : int로 열거에서 변환하여 가장 좋은 방법

1은 무엇입니까

public static int EnumToInt(Enum enumValue) 
{ 
    return (int)(ValueType)enumValue; 
} 
+1

골리이 문제의 버그 나에게 너무 많은. –

답변

3

을 세 번째 대안을 던질 것입니다 ~ @ dtb

등호 다음에 제공하여 열거 형의 int (또는 플래그)를 지정할 수 있습니다.

enum MyEnum 
{ 
    Foo = 0, 
    Bar = 100, 
    Baz = 9999 
} 

건배

3

당신은 열거가있는 경우 등

enum MyEnum 
{ 
    Foo, 
    Bar, 
    Baz, 
} 

및 값으로 해당 열거 형의 예 :

다음

int로 값을 변환하는 가장 좋은 방법은

int result = (int)value; 
2

내가 또한 열거

에 확장 메서드의 형태로 혼합으로
public static int ToInt(this Enum e) 
{ 
    return Convert.ToInt32(e); 
} 

enum SomeEnum 
{ 
    Val1 = 1, 
    Val2 = 2, 
    Val3 = 3, 
} 

int intVal = SomeEnum.ToInt(); 
+0

내가 가지고있는 곳 'System.Enum'형식을 int로 변환 할 수 없다 – zrabzdn

+0

내 최신 업데이트를 사용해보십시오 – TGH

+1

TGH, 감사합니다! – zrabzdn