所以这是我坚持的大学任务的一部分,我要创建一个媒体播放器,我正在努力的代码应该从.txt文件读入数组,然后它应该读取将标题跟踪到名为Lst_genre的列表框中,我的代码到目前为止如下(我对网站很新,所以如果我需要放其他东西,请告诉我。)
private void Form1_Load(object sender, EventArgs e)
{
string[] readFromfile = File.ReadLines("filepathgoeshere").ToArray();
ListBox listBox1 = new ListBox();
// add items
Lst_Genre.Items.Add(readFromfile);
// add to controls
Controls.Add(listBox1);
}
文本文件的格式如下
2
hip hop // i am wanting this to the textbox
eminem- without me.mp3 // both mp3 files should show in Lst_genre
eminem- lose yourself.mp3
类型名称也应该在上面的文本框中读取,但此刻我更关注音轨名称。如果有人能提供一些意见,那将是很好的,因为我目前正处于亏损状态。
答案 0 :(得分:3)
您必须先提取数据:
var readFromFile = File
.ReadLines("filepathgoeshere")
.Skip(1) // Skip title
.Select(line => line.Substring(0, line.LastIndexOf(' '))) // get genre (not number)
.ToArray(); // we want an array
然后添加所有项目:AddRange
:
Lst_Genre.Items.AddRange(readFromfile);
编辑1 :据我所知,
我的列表框上方有一个文本框来保存流派名称和 列表框应该包含我的曲目名称
我们实际上必须为两个控件提供数据:
var allLines = File
.ReadAllLines("filepathgoeshere");
然后
// Top Line: genre name
myTextBox.Text = allLines[0];
// tracks
Lst_Genre.Items.AddRange(allLines
.Skip(1) // Here we skip top line (genre name?)
.Select(line => line.Substring(0, line.LastIndexOf(' ')))
.ToArray());
编辑2 :根据提供的示例:
var allLines = File
.ReadAllLines("filepathgoeshere");
// Genre name is the second line (top one is id which we skip)
myTextBox.Text = allLines[1];
// in case you want to clear existing control, not creating a new one.
Lst_Genre.Items.Clear();
// Tracks
Lst_Genre.Items.AddRange(allLines
.Skip(2) // Here we skip tow lines (id and genre name)
.ToArray());