“ not>”是否等于“ <=”的两倍

时间:2018-11-29 10:50:20

标签: c# conditional

double a, b = ...;

以下C#语句

!(a > b)

a <= b

等效还是有任何数字警告?

1 个答案:

答案 0 :(得分:8)

如果它们是标准的香草双数值,则等效。

对于可为空的NaN等,这还不清楚。

考虑

double? a = null;
double b = 1;

if (!(a > b))
{
   //yes
}
if ((a <= b))
{
   //no
}

或者如Marc Gravell♦所指出的,下面的内容展示了完全相同的行为,同时坚持使用纯double

double a = 42;
double b = double.NaN;