这是一个tl;博士
我来自C++背景.&&假设检查左侧是否为真,右侧是否为真.与此有什么关系?为什么在&&逻辑中使用它?
我无法理解http://msdn.microsoft.com/en-us/library/aa691312%28v=vs.71%29.aspx并提出了一个问题.我花了很长时间才理解并接受这个答案.我不得不做很多跟进阅读操作员如何重载真假工作?
操作x && y被评估为T.false(x)?x:T.&(x,y)
为什么它这样做呢?如果false重载返回true并且true运算符返回true,则根本不计算y.WTF !!!!
我仍然无法理解它.因为这对我来说太奇怪了,我花了一些时间来理解另一个问题的答案.在C#v = 1 && 2;中不能正常工作你不能做&& on onts.在C中,这返回true(继承人代码/示例http://codepad.org/9iCaqzQ2).如果我们遵循上面的操作规则,我们会这样做
(使用1 && 2)
这会让你得到错误的结果.
那么...... C#以它的方式执行&&(和||)运算符的原因是什么.
c# ×1