可以询问浮点数或MinValue的相同问题.
我正在考虑将它作为特殊值使用.我会看到精确的错误吗?我不希望用这些数字算术,只是设置它们就是这样.
澄清:我使用它来获得哨兵价值.
这是C#规范中描述的内容吗?
解决方法
这取决于你如何使用它.
如果你使用double.MaxValue作为具有特殊语义的标记或标记值,那么是的,它只是你要比较的一点模式.例如,您可以使用double.MaxValue来指示“未初始化”或“未知”值.还有其他方法可以做到这一点(例如,使用可以为空的双?),但是使用double.MaxValue也是合理的,假设您的域中不会自然出现该值.
但是,如果你有一些任意的双值,并且你想看看它是否与double.MaxValue“相等”,那么你会想看看这些数字是否在彼此的某个小范围内(epsilon),因为一些精度可以在计算你的另一个双倍价值时已经迷失了.这里需要注意的问题是值超出double.MaxValue,会产生溢出情况.