Зациклить список и сравнить его элементы с условием c # - PullRequest
0 голосов
/ 17 мая 2018

Мне нужно перебрать список. Каждый элемент должен быть сопоставлен с 2 условиями.

Проблема в том, что для одного элемента результат может быть True, для другого False. Я должен сохранить все эти результаты и выполнить операцию ИЛИ, чтобы получить окончательный результат.

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 для всех элементов, а затем сравнить их. Если хотя бы один из результатов является ложным, то конечный результат также должен быть ложным.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Вы должны прервать foreach после того, как statusConfiguration будет 'false'.

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;}
0 голосов
/ 17 мая 2018

Используйте Any(), чтобы определить, существует ли не какой-либо элемент с этими условиями

Если по крайней мере один из результатов является ложным, то конечный результат также должен быть ложным

statusConfiguration = mappingList.Any(x => 
                      x._mappingStatus != enum_MappingStatus.E_MAPPING_OK &&       
                      x._mappingStatus != enum_MappingStatus.E_MAPPING_OK_END);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...