我有一个带构造函数的Vector3类:
public Vector3 (double x, double y, double z)
{
#if DEBUG
if (double.IsNan (x)) throw something...
#endif
X = x;
...
}
我不想在发布模式下检查NaN。那么,仅为调试模式添加检查是一个好习惯吗?我在XML注释中说构造函数不检查Nan或无穷大。但是我可以检查调试模式以获得更好的去除权利吗?这个可以吗?还是坏的模式?
答案 0 :(得分:2)
这就是你要找的东西:
System.Diagnostics.Debug.Assert(!double.IsNan(x), "Some message shown if assert fails".)
在Release模式下进行编译时会被忽略,因此对性能没有影响(除非你当然处于Debug模式)。