考虑到默认情况下值类型总是初始化并且永远不为null,是否值得通过参数检查传入方法的值类型?
E.g。值得进行以下检查
public void Method(Guid x)
{
if (x == null)
throw new ArgumentNullException();
...
}
答案 0 :(得分:1)
虽然条件在技术上是有效(由于运算符重载规则和可空类型),但它只能评估为false
。这就是为什么在某些情况下,您会收到编译器警告,告诉您唯一可能的结果是false
。
所以,除非你的问题还有更多,否则问及这个代码是否值得:
public void Method(Guid x)
{
if (false)
throw new ArgumentNullException();
...
}
答案应该非常明显。