Compiler Error CS0031
TOC
Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

Compiler Error CS0031

Constant value 'value' cannot be converted to a 'type'. (use 'unchecked' syntax to override)

An attempt was made to assign a value to a variable whose type cannot store the value. For more information, see Types (C# Programming Guide).

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;
            }
      }
   }
}
Show:
© 2016 Microsoft