Erreur du compilateur CS0031
Mise à jour : novembre 2007
Message d'erreur
La valeur de constante 'valeur' ne peut pas être convertie en 'type'. (utilisez la syntaxe 'unchecked') pour substituer
Constant value 'value' cannot be converted to a 'type'. (use 'unchecked' syntax to override)
Une tentative a été faite pour assigner une valeur à une variable dont le type ne peut pas stocker la valeur. Pour plus d'informations, consultez Types (Guide de programmation C#).
L'exemple suivant génère l'erreur CS0031 dans les contextes checked et unchecked :
// 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;
}
}
}
}