【发布时间】:2021-04-25 13:37:22
【问题描述】:
我有一些使用 If..Then..Else.. 语句的检查条件,但我发生了一些事情,让我一直对这个问题感到困惑。我的代码是:
if ( !context.APIPOS_ExportPos.Any(x => x.CustomerRef == HAWBToUpdate) || !context.Export_Reguler.Any(y => y.CustomerRef == HAWBToUpdate) )
{
//some complicated operation goes here...
}
总是检查OR 运算符(||)之前的第一个条件,不检查OR 运算符之后的条件。
我应该怎么做才能解决这个问题?非常感谢您的帮助
【问题讨论】:
-
您正在使用 OR 运算符。所以只有一个条件是真实的。如果第一个条件返回 true,则不会检查第二个条件。只有当第一个条件返回 false 时,才会检查第二个条件。
-
请尝试重新表述您的问题,以便更清楚。不清楚您的问题是什么。
-
如果你使用 AND 运算符,两个条件都会被检查,并且它们都必须为真才能执行 if 块中的代码
-
如果使用单 | (或)即使第一个为真,它也会评估两者。如果第二个条件执行必要的功能,这很有用。 (但这是不好的形式)
-
你读过the documentation 的布尔逻辑运算符吗?它应该回答您关于该主题的所有问题。因缺乏研究努力而投反对票。如果文档没有回答某些问题,请澄清问题。
标签: c# asp.net entity-framework asp.net-web-api asp.net-web-api2