Decompiling the source and looking up Double.Min and Double.Max shows the following definition:
public const double MinValue = -1.79769313486232E+308;
public const double MaxValue = 1.79769313486232E+308;
This matches up with the msdn page.
If I try to assign this maximal value manually to a variable I get the following error:
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
Can someone explain to me why this is? Is there something wrong with the double boundary validation?