Декомпиляция источника и поиск Double.Min
и Double.Max
показывает следующее определение:
public const double MinValue = -1.79769313486232E+308;
public const double MaxValue = 1.79769313486232E+308;
Это соответствует странице msdn .
Если я пытаюсь присвоить это максимальное значение переменной вручную, я получаю следующую ошибку:
Floating-point constant is outside the range of type 'double'
double d1 = -1.79769313486232E+308; // DOESN'T COMPILE
Double d2 = 1.79769313486232E+308; // DOESN'T COMPILE
Может кто-нибудь объяснить мне, почему это так? Что-то не так с проверкой двойной границы?