-1

我的红线出现了comparestring1 && comparestring2,知道为什么吗?

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

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

      }
    }
4

2 回答 2

0
        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”的定义吗?

于 2019-02-20T08:32:05.180 回答
0

所以本质上你只想检查两个列表中是否存在特定的字符串。你可以使用 Linq

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

您发布的代码在语法和语义上都是错误的。因此红线。此外,不确定在另一个列表的每次迭代中检查硬编码字符串的意义何在。无论如何,您发布的代码应该如下所示,使用 Linqusing System.Linq

bool result = comparestring1.Any(x => x == "WORKING" && comparestring2.Contains(x))
于 2019-02-20T08:25:10.683 回答