如果有以下语句:
return this.revision.HasValue ? this.revision : throw new InvalidOperationException();
我认为它会编译,因为 throw 会破坏正常流程,不返回值但它不会构建应该不是问题。
有没有办法纠正这个声明或者为什么不允许这样做?
谢谢。
编辑: this.revision 是 int 吗?并且该方法返回 int。
编辑2:如果我有这个方法
public int Test()
{
throw new Exception();
}
编译器不会抱怨没有返回一个值,我期望内联的事情是一样的 if ... 至少我们知道可以做到,因为它已经在方法中完成了。