컴파일러 오류 CS0150

업데이트: 2007년 11월

오류 메시지

상수 값이 필요합니다.
A constant value is expected

상수 값이 필요한 변수가 있습니다. 자세한 내용은 switch(C# 참조)를 참조하십시오.

다음 샘플에서는 CS0150 오류가 발생하는 경우를 보여 줍니다.

// CS0150.cs
namespace MyNamespace
{
   public class MyClass
   {
      public static void Main()
      {
         int i = 0;
         int j = 0;

         switch(i)
         {
            case j:   // CS0150, j is a variable int, not a constant int
            // try the following line instead
            // case 1:
         }
      }
   }
}

이 오류는 배열 크기가 변수 값으로 지정되고 배열 이니셜라이저로 초기화될 때에도 발생합니다. 이 오류를 제거하려면 별도 문에서 배열을 초기화하십시오.

// CS0150.cs
    namespace MyNamespace
    {
        public class MyClass
        {
            public static void Main()
            {
                int size = 2;
                double[] nums = new double[size] { 46.9, 89.4 }; //CS0150
                // Try the following lines instead
                // double[] nums = new double[size];
                // nums[0] = 46.9; 
                // nums[1] = 89.4;
            }
        }

    }