可变项仅显示一行

时间:2018-10-15 21:16:48

标签: c#

对于具有特定关键字的每一行,我想将其打印到TextBox
但是一旦我读取了文本文件并选择了带有关键字的行并将其添加到列表中,它就只显示列表的第一行。

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    var client = new WebClient();
    var text = client.DownloadString("https://foo.com/list");

    File.WriteAllText("C:/ProgramData/oof.txt", text);

    string searchKeyword = "Name";
    string fileName = "C:/ProgramData/oof.txt";
    string[] textLines = File.ReadAllLines(fileName);
    List<string> results = new List<string>();

    foreach (string line in textLines)
    {
        if (line.Contains(searchKeyword))
        {
            results.Add(line);
        }
        foreach (var item in results)
        {
            richTextBox1.Text = item;
        }
    }
}

1 个答案:

答案 0 :(得分:1)

最后的循环仅将文本设置为最后一项。

      foreach (var item in results)
        {
            richTextBox1.Text = item;
        }

不清楚您想要什么,但是如何解决。

var sb = new StringBuilder();
          foreach (var item in results)
            {
                sb.Append(item);
                sb.Append " ";
            }

                richTextBox1.Text = sb.ToString();