【发布时间】:2016-02-22 05:02:59
【问题描述】:
好吧,我是 C# 的初学者,但我无法理解下面的 if 语句。
对于此示例,INumber 声明为 8,dPrice 为 0,dTAX 为 10。
if (iNumber != 8 || iNumber != 9)
{
dPrice = dPrice + dTAX;
}
有人可以解释为什么它要输入语句并将 dTAX 中的 10 添加到 dPrice 中吗?
我知道将其更改为 && 可以,但是为什么呢?
据我了解,它应该只输入 If 语句,如果 iNumber 不等于 8 或 9,这里是这样,所以它不应该输入。
这是我通过 || 运行后的输出if 语句。
Inumber is: 8
dPrice was: 0
dPrice is now: 10
dTAX is: 10
谁能给我解释一下?
【问题讨论】:
-
因为你的号码是 8,那么你的程序会读取
inumber !=8将返回为false并且inumber !=9将返回为true。但是你正在使用||所以,其中一个是truedprice也会更新 -
它进入if只是因为它是一个真实的陈述
8 != 8 or 8 != 9 -
if (false OR true) == true,所以进入区块。
-
顺便说一下,调试的时候你可以在
if里面设置一个断点,然后把鼠标悬停在||部分,这会告诉你为什么进入block,结果整个 if 语句。 -
我的口袋里有两枚美国标准硬币。他们增加了三十美分。其中一个不是四分之一。硬币是什么?既然您知道问题的答案,您应该能够回答这个难题了。
标签: c# if-statement logical-operators