C# ||,|,&&;在IF语句中
我想做下面的IF语句C# ||,|,&&;在IF语句中,c#,C#,我想做下面的IF语句 if (checkID.Equals(Convert.ToInt32(txtCheck.Text)) && drop == 319020000 || currentFloor[id][0].checkFlag == 1) 我想在这里检查以下内容: 我想核实一下这整个陈述是否属实 checkID.Equals(Convert.ToInt32(txtCheck.Text)) && drop == 319020000` 或者
if (checkID.Equals(Convert.ToInt32(txtCheck.Text))
&& drop == 319020000
|| currentFloor[id][0].checkFlag == 1)
我想在这里检查以下内容:
我想核实一下这整个陈述是否属实
checkID.Equals(Convert.ToInt32(txtCheck.Text)) && drop == 319020000`
或者这句话:
currentFloor[id][0].checkFlag == 1
如果其中1个为真,则应进入循环内部
我做错了什么?使用括号,在同一级别上有许多运算符,优先级可能会使您丧命
if ((checkID.Equals(Convert.ToInt32(txtCheck.Text)) && drop == 319020000)
|| currentFloor[id][0].checkFlag == 1)
)() 您必须使用以下附加括号
if ((checkID.Equals(Convert.ToInt32(txtCheck.Text)) && drop == 319020000) || currentFloor[id][0].checkFlag == 1)
把前两张支票放在大括号里?是什么让你认为你做错了什么?你看到了什么行为?它真的出了问题吗?在C#中,==绑定比&&哪个绑定比| |更紧,根据我的理解,这些规则可以让你用你发布的代码得到你想要的。我个人不想记住哪个先发,
&
或|
。因此,我总是在应该首先开始的部分周围添加()
,我确定这样做。什么循环?试着根据你的期望和实际发生的情况来制定一个问题。努力编写一个小的独立程序来演示这个问题。正确的链接,错误的结论。试着说明()
会帮助哪条规则。事实上,我总是将每个比较都用括号括起来(感谢Phill的编辑)。正如上面有人所说,我不想记住优先级,所以对我来说,一个好的做法是尽可能多地使用括号。由于问题是公式化的,我会使用以下代码:if((checkID.Equals(Convert.ToInt32(txtCheck.Text))&&drop==319020000)| |(currentfool[id][0].checkFlag==1)),以确保我真的得到了我想要的,即()
是一个很好的实践,但它们不可能是这里的答案“我在这里做错了什么?”。我只是假设if子句的行为不符合预期,我建议使用括号来确保问题不在实际比较中。关于添加括号但a&&b|c
的10个答案中有一个与(a&&b)|c
完全相同