В приведенном ниже методе в последней строке я получаю исключение:
System.OverflowException: Value was either too large or too small for an Int32.
Я не могу объяснить, почему, потому что я проверяю это явно:
private Int32 ConvertValue(double value)
{
if (value > Int32.MaxValue)
{
Console.WriteLine("Couldn't convert value " + value + " to Int32");
return Int32.MaxValue;
}
else if (value < Int32.MinValue)
{
Console.WriteLine("Couldn't convert value " + value + " to Int32");
return Int32.MinValue;
}
else
{
return Convert.ToInt32(value);
}
}