Kim*_*boo -2 .net c# jit if-statement
在c#中我有一个像这样的IF条件
if(x != null && x.myprop != "value") { // }
当x为null时,为什么编译器在'&&'运算符后继续,即使条件保证不被满足.
如果我在x为空时执行x.myprop,我就会出现null异常,我知道'?' 解决问题,但我不明白为什么它继续.对不起,我的英语不好.
Owe*_*ing 5
C#中的&&运算符短路,因此您无法看到此行为.
条件AND运算符(&&)执行其bool操作数的逻辑AND,但仅在必要时才计算其第二个操作数.
但是,您确定没有错误地使用&运算符(不会短路)吗?
与条件AND运算符&&相比,二元运算符不管第一个运算符的值如何都会计算运算符.
归档时间:
8 年,3 月 前
查看次数:
83 次
最近记录: