Сравните 2 списка с определенной строкой - PullRequest
0 голосов
/ 20 февраля 2019

У меня красные линии на comparestring1 && comparestring2, есть идеи, почему?

    List<string> comparestring1 = new List<string>();
    List<string> comparestring2 = new List<string>();

    foreach(string comparefinal in constrings)
    {
      if(comparestring1 && comparestring2 = "WORKING")
      {

      }
    }

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019
        List<string> comparestring1 = new List<string>();
        List<string> comparestring2 = new List<string>();
        int i = 0;
        foreach (string comparefinal in constrings)
        {

            if (comparestring1[i] == "WORKING" && comparestring2[i] == "WORKING")
            {

            }
            i++;
        }

Попробуйте это?Вы должны выбрать индекс из списка, который вы хотите сравнить.А вам нужно определение для "constrings"?

0 голосов
/ 20 февраля 2019

Так что, по сути, вы просто хотите проверить, присутствует ли конкретная строка в обоих списках или нет.Для этого вы можете использовать Linq, например

var data = constrings.Where(x => comparestring1.Contains(x) && comparestring2.Contains(x))
                     .ToList();

Ваш опубликованный код неверен как в синтаксическом, так и в синтаксическом отношении.Таким образом, красная линия.Более того, не уверен, какой смысл проверять жестко закодированную строку на каждой итерации другого списка.В любом случае, ваш опубликованный код должен быть таким, как показано ниже, используя Linq using System.Linq

bool result = comparestring1.Any(x => x == "WORKING" && comparestring2.Contains(x))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...