double a, b = ...;
以下C#语句
!(a > b)
和
a <= b
等效还是有任何数字警告?
答案 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;