if (iAmNull != null && iAmNull.Length == 6) Do();

发布于 2024-12-05 07:31:06 字数 358 浏览 1 评论 0原文

可能的重复:
如果if-结构为假?

如果第一个条件在 AND 中产生 false,则在 C# 中是否会评估第二个条件?

即本例中抛出了 NullException?

if (iAmNull != null && iAmNull.Length == 6) Do();

Possible Duplicate:
What happens if the first part of an if-structure is false?

if the first criterion yields false in an AND, is the second condition evaluated at all in c# ?

i.e. is a NullException thrown in this example?

if (iAmNull != null && iAmNull.Length == 6) Do();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

め可乐爱微笑 2024-12-12 07:31:06

否,不会评估第二个条件,因为您正在使用短路 &&操作员。

来自维基百科

短路评估、最小评估或 McCarthy 评估
表示某些编程中某些布尔运算符的语义
仅执行或评估第二个参数的语言
如果第一个参数不足以确定
表达式:当 AND 函数的第一个参数计算结果为
false,整体值一定是 false;当第一个参数
OR 函数计算结果为 true,总体值必​​须为 true。

No the second condition is not evaluated because you are using the short-circuit && operator.

From Wikipedia:

Short-circuit evaluation, minimal evaluation, or McCarthy evaluation
denotes the semantics of some Boolean operators in some programming
languages in which the second argument is only executed or evaluated
if the first argument does not suffice to determine the value of the
expression: when the first argument of the AND function evaluates to
false, the overall value must be false; and when the first argument of
the OR function evaluates to true, the overall value must be true.

早茶月光 2024-12-12 07:31:06

不,逻辑运算符具有短路评估< /a>.

No, the logical operators have short-circuit evaluation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文