Compilerfehler CS0031

Der Konstantenwert 'wert' kann nicht in einen 'typ' konvertiert werden.

Es wurde versucht, einer Variablen einen Wert zuzuweisen, deren Typ den Wert nicht speichern kann. Weitere Informationen finden Sie unter Typen.

Im folgenden Beispiel wird CS0031 sowohl in checked- als auch in unchecked-Kontexten generiert:

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

Siehe auch