Share via


Kompilatorfel CS0031

Det går inte att konvertera konstantvärdets värde till en typ.

Ett försök gjordes att tilldela ett värde till en variabel vars typ inte kan lagra värdet. Mer information finns i Typer.

Följande exempel genererar CS0031 i både markerade och avmarkerade kontexter:

// CS0031.cs
namespace CS0031
{
    public class Program
    {
        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;
            }
        }
    }
}

Se även