检查列表是否包含特定行C#的文本

时间:2014-04-13 10:42:57

标签: c# list if-statement contains

下面是我的代码,将5个文本框的第一行添加到另一个列表(averageLetter1)

我想创建一个IF语句来检查列表是否包含特定行的文本,如果是,则返回true。

//average for letter 1 of each password
                averageLetter1.Add(pw.ElementAt(0));
                averageLetter1.Add(pw1.ElementAt(0));
                averageLetter1.Add(pw2.ElementAt(0));
                averageLetter1.Add(pw3.ElementAt(0));
                averageLetter1.Add(pw4.ElementAt(0));


                long AverageL1 = (averageLetter1.Sum()) / 5;
                MessageBox.Show(AverageL1.ToString());

我尝试过使用 Contains 方法,但无法指定特定的行。

(我也是C#的新手,所以我还在学习。)

非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:0)

如果要查看averageLetter1中的某个条目是否包含某些文本,则可以使用averageLetter1[lineNumber].Contains(text)。如果要查看其中一个条目是否等于某些文本,则可以使用averageLetter[lineNumber] == text。如果你想知道任何行是否等于某些文本并知道索引,那么你可以使用:

        var matches = averageLetter1.Where(x => x == text).Select((x, index) => index).ToList();

        if (matches.Count == 0)
            MessageBox.Show("No matches");
        else
        {
            // There may be more than one match, so iterate over the matches
            foreach (var matchIndex in matches)
            {
                MessageBox.Show("text matched at " + matchIndex);
            }
        }