我需要遍历列表。应将每个元素与2个条件进行比较。
问题是,对于一个元素,结果可以是True,另一个是False。我必须保留所有这些结果并进行操作OR,以获得最终结果。
foreach (var elem in mappingList)
{
if (elem._mappingStatus == enum_MappingStatus.E_MAPPING_OK
|| elem._mappingStatus == enum_MappingStatus.E_MAPPING_OK_END)
{
statusConfiguration = true;
}
else
{
statusConfiguration = false;
}
}
我不知道如何保持所有元素的statusConfiguration然后比较它们的问题。如果在某个结果中,其中一个结果是假的,那么最终结果也应该是假的。
提前致谢。
答案 0 :(得分:6)
使用Any()
确定不是否存在具有这些条件的任何项目
如果在结果中,其中一个结果为假,那么最终结果应为 也是假的
statusConfiguration = mappingList.Any(x =>
x._mappingStatus != enum_MappingStatus.E_MAPPING_OK &&
x._mappingStatus != enum_MappingStatus.E_MAPPING_OK_END);
答案 1 :(得分:2)
你应该在statusConfiguration'falsed'之后中断foreach。
bool statusConfiguration = true;
foreach (var elem in mappingList)
{
if (elem._mappingStatus == enum_MappingStatus.E_MAPPING_OK
& elem._mappingStatus == enum_MappingStatus.E_MAPPING_OK_END)
{
statusConfiguration = true;
}
else
{
statusConfiguration = false;
break;
}
}
if (!statusConfiguration) {finalResult = false;}