호기심에서 : 왜 1.0이 아닌 열거 형인 변수에 0.0을 할당 할 수 있습니까? 다음 코드를 살펴보십시오.
public enum Foo
{
Bar,
Baz
}
class Program
{
static void Main()
{
Foo value1 = 0.0;
Foo value2 = 1.0; // This line does not compile
Foo value3 = 4.2; // This line does not compile
}
}
숫자 유형과 열거 값 간의 변환은 캐스트를 통해서만 허용된다고 생각했습니다. 즉, Foo를 작성 value2 = (Foo) 1.0;하여 두 번째 줄 Main이 컴파일 될 수 있습니다. 0.0C # 의 값 에 예외가있는 이유는 무엇 입니까?
1.0.