C# 将StreamReader复制到多个列表框

C# 将StreamReader复制到多个列表框,c#,listbox,streamreader,C#,Listbox,Streamreader,我试图使用StreamReader将文本文件中的数据分解为多个列表框。到目前为止,我已经能够将所有数据放在一个列表框中,但我项目的下一步需要拆分数据,我认为我对列表框的理解比数组要好。我曾努力寻找一个类似的问题,但由于我是一个初学者,我发现的大部分问题让我更加困惑。我只能成功地完成以下工作: StreamReader file = new StreamReader(openFileDialog1.FileName); string data; while (!file.EndOfStream)

我试图使用StreamReader将文本文件中的数据分解为多个列表框。到目前为止,我已经能够将所有数据放在一个列表框中,但我项目的下一步需要拆分数据,我认为我对列表框的理解比数组要好。我曾努力寻找一个类似的问题,但由于我是一个初学者,我发现的大部分问题让我更加困惑。我只能成功地完成以下工作:

StreamReader file = new StreamReader(openFileDialog1.FileName);
string data;
while (!file.EndOfStream)
{
    data = file.ReadLine();
    listBox1.Items.Add(data);
}
file.Close();
我的.txt文件中的数据分为三块,如下所示:

blue
david
8042
red
joseph
7042
我无法更改数据格式,因此我一直试图以这样一种方式将其编码出来:

if (blue)
    listBox1.Items.Add(david);
    listBox2.Items.Add(8042);
else if (red)
    listBox3.Items.Add(joseph);
    listBox4.Items.Add(7042);
等等,我只有两种颜色可以使用,但是每种颜色都有很多数据。我的问题是,我对编码还不熟悉,没有把我学会的做这件事的基本知识落实到位

在列表框进行流式读取时,在列表框的行下方添加行时,我缺少哪些代码行?我需要用电话吗

int counter = 0;
增加1或2来得到这些线,还是我的想法太基本了


非常感谢你的帮助。我觉得我错过了一些我还没有掌握的非常简单的东西。

一种可能的解决方法是按三行(即整个区块)而不是一行来阅读:


谢谢你,德米特里!你让我看到了我所缺少的东西。
  using (StreamReader file = new StreamReader(openFileDialog1.FileName)) {
    while (!file.EndOfStream) {
      string color = file.ReadLine();
      string name = file.ReadLine();
      string number = file.ReadLine();

      if (color == "blue") {
        listBox1.Items.Add(name);
        listBox2.Items.Add(number);
      }
      else if (color == "red") {
        listBox3.Items.Add(name);
        listBox4.Items.Add(number);
      }
    }  
  }