CS0031 de erro do compilador

Mensagem de erro

Valor de constante 'valor' não pode ser convertido em 'tipo'.(use sintaxe 'desmarcada' para substituir)

Houve uma tentativa de atribuir um valor a uma variável cujo tipo não é possível armazenar o valor.Para obter mais informações, consulte Tipos (Guia de programação C#).

O exemplo a seguir gera CS0031 em contextos marcados e desmarcados:

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

Consulte também

Referência

Desmarcado (Referência C#)