Компилятор C # 4.0 не жалуется на это (даже не предупреждение):
if(10.0 > null + 1)
{
}
if (myDoubleValue > null)
{
}
И, похоже, всегда ложно.Что здесь происходит?Ноль автоматически преобразуется в Nullable<double>
или что-то в этом роде?
Если так, почему это не работает, то:
double myDoubleValue = null + 1;
Кроме того, зачем мне вообще такое поведение.Почему хорошо, что с такими литералами можно поиграть?