コンパイラ エラー CS0031
更新 : 2007 年 11 月
エラー メッセージ
定数値 'value' は 'type' に変換できません (unchecked 構文を使ってオーバーライドしてください)。
変数に値を代入しようとしましたが、その変数の型には指定された値を格納できません。詳細については、「型 (C# プログラミング ガイド)」を参照してください。
次の例では、checked コンテキストと unchecked コンテキストのどちらでも CS0031 エラーが生成されます。
// 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;
}
}
}
}