[具有一个对象,该对象具有对象的属性ListA,并且在每个对象内部都有一个属性id(nullable)
ListA中总是有两个对象
案例A
if (!mainObj.ListA.Any(object => object.id.HasValue))
{
//do
}
vs
情况B
if (mainObj.ListA.Any(object => !object.id.HasValue) )
{
//do
}
我想了解为什么当id为True / False或False / True时Case A不满足仅当id为False / False时才输入内部语句的条件。
您在案例A中的条件之前使用!(!mainObj.ListA.Any(object => object.id.HasValue)),仅当两个对象都没有值时,它才会返回true,因为使用了Any。
对于案例A,您需要使用以下方法:
if (!mainObj.ListA.All(object => object.id.HasValue))
{
//do
}
我们将Any更改为All的地方,当其中至少一项没有价值时,我们进入了这个区块。”>