protected override Boolean IsValid(String propertyValue)
{
return !String.IsNullOrEmpty(propertyValue) && propertyValue.Trim().Length > 0;
}
这个 C# 验证方法正是我想要的,但我不知道你可以像这样使用表达式短路。
当 propertyValue 为 null 时,执行是否仍需要评估表达式的第二部分以产生布尔结果,如果是这样,为什么第二部分不为Trim().Length > 0抛出 null ref 异常称呼?
我假设第二部分正在评估为 false 或 null,但我很想知道这里发生了什么。
抱歉,如果我遗漏了一些非常明显的东西,请赐教。
上帝 - 我错过了一些明显的白痴!- 当第一部分是假的时,第二部分是无关紧要的,我什至知道这是短循环的事实完全空白 - 很抱歉浪费人们的时间,尴尬的表情是什么?
添加了另一个标签以反映我在思考之前打字的尴尬。