Lire en anglais

Partager via


Erreur du compilateur CS0150

Une valeur de constante est attendue

Une variable a été trouvée là où une constante était attendue. Pour plus d'informations, consultez commutateurs.

L’exemple suivant génère l’erreur 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 0:  
         }  
      }  
   }  
}  

Cette erreur est également générée quand une taille de tableau est spécifiée avec une valeur de variable et initialisée avec un initialiseur de tableau. Pour supprimer l’erreur, initialisez le tableau dans une ou plusieurs instructions distinctes.

// 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;  
            }  
        }  
  
    }