Errore del compilatore CS0031

Aggiornamento: novembre 2007

Messaggio di errore

Impossibile convertire il valore costante 'valore' in 'tipo'. (utilizzare la sintassi 'unchecked' per eseguire l'override)
Constant value 'value' cannot be converted to a 'type'. (use 'unchecked' syntax to override)

È stato effettuato un tentativo di assegnare un valore a un tipo di variabile che non può contenerlo. Per ulteriori informazioni, vedere la classe Tipi (Guida per programmatori C#).

The following sample generates CS0031 in both checked and unchecked contexts:

// CS0031.cs
namespace CS0031
{
   public class a
   {
      public static void Main()
      {
         int num = (int)2147483648M; //CS0031
         // Try using a larger numeric type instead:
         // long num = (long)2147483648M; //CS0031

         const decimal d = -10M; // Decimal literal
            unchecked
            {
                const byte b = (byte)d; // CS0031
                // For small values try using a signed byte instead:
                // const sbyte b = (sbyte)d;
            }
      }
   }
}

Vedere anche

Riferimenti

unchecked (Riferimenti per C#)