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