将.txt文件中的特定行显示到列表框中

本文关键字:显示 列表 txt 文件 | 更新日期: 2023-09-27 18:01:24

我正在尝试显示特定的行,我现在已经存储在数组中,从文本文件到列表框。

string[] lines = File.ReadAllLines(@"C:'Users'James Dunn'Documents'Visual Studio 2012'Projects'Assignment 2'Assignment 2'MyJukeBox'bin'Debug'Media'Genre.txt");
mediaLibrary[0] = genreListBox;
for (int l = 3; l < lines.Length; l++)
{
   mediaLibrary[0].Items.Add(lines[l]);
}
genreListBox.Items.Add(mediaLibrary[0]);

这段代码到目前为止显示了除前3行文本外的所有文本。我如何让它在显示我需要的行后停止?我尝试在for循环中使用以下代码,但它给了我错误。

int ll = 6; != lines.Length;

我的文本文件布局如下

3
2
Other
Big Bad John (1961) - Jimmy Dean.mp3
My Ding A Ling - Chuck Berry.mp3
2
Rap
2pac-ghost.mp3
B.I.G-Spit Your Game.mp3
1
Rock
Linkin park-Numb.mp3

将.txt文件中的特定行显示到列表框中

如果元素总是在同一位置,则可以使用Skip()和Take()。

所以如果你总是想要第三和第四行你可以写

mediaLibrary[0].Items.AddRange(lines.Skip(2).Take(2).ToArray<object>());

我设法通过使用if语句和添加break来解决我的问题。

{
// Adding first genre title
string[] lines = File.ReadAllLines(@"C:'Users'James Dunn'Documents'Visual Studio 2012'Projects'Assignment 2'Assignment 2'MyJukeBox'bin'Debug'Media'Genre.txt");
for (int l = 3; l < lines.Length; l++)
{
mediaLibrary[0].Items.Add(lines[l]);
if (l == 4)
break;
}
genreTitleTextBox.(mediaLibrary[0]);
}