You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#读取文本文件到数组并添加至ListBox问题求助

嘿,我来帮你搞定这个媒体播放器的小问题!看起来你已经迈出了第一步——把txt文件内容读到数组里,接下来只要把这些曲目名称加到Lst_genre这个ListBox里就好啦。我给你补全并优化代码,顺便提几个要注意的细节:

完整实现代码
private void Form1_Load(object sender, EventArgs e)
{
    try
    {
        // 替换成你的实际文件路径,记得用@符号避免转义,比如@"C:\MyMusic\tracks.txt"
        string filePath = @"filepathgoeshere";
        
        // 读取文件所有行到字符串数组
        string[] trackNames = File.ReadLines(filePath).ToArray();
        
        // 可选:先清空ListBox,防止重复添加曲目
        Lst_genre.Items.Clear();
        
        // 遍历数组,把每个曲目名称加到ListBox里(顺便过滤空行)
        foreach (string track in trackNames)
        {
            if (!string.IsNullOrWhiteSpace(track))
            {
                Lst_genre.Items.Add(track);
            }
        }
    }
    catch (FileNotFoundException)
    {
        MessageBox.Show("找不到指定的文件哦,请检查路径是否正确!");
    }
    catch (Exception ex)
    {
        MessageBox.Show($"读取文件时出错啦:{ex.Message}");
    }
}
几个实用的小提示
  • 文件路径别踩坑:硬写绝对路径容易出问题,如果你把txt文件放在程序的运行目录里,可以用下面的方式获取路径,更灵活:
    string filePath = Path.Combine(Application.StartupPath, "你的文件名.txt");
    
    这样不管程序放到哪里,都能找到文件。
  • 异常处理很重要:加个try-catch块,能避免因为文件找不到、没权限之类的问题导致程序直接崩溃,还能给你友好的提示。
  • 高效添加小技巧:如果不想用foreach循环,也可以一次性把数组内容加到ListBox里,代码更简洁:
    // 先过滤空行,再批量添加
    var validTracks = trackNames.Where(track => !string.IsNullOrWhiteSpace(track)).ToArray();
    Lst_genre.Items.AddRange(validTracks);
    
  • 避免重复条目:如果Form1_Load可能被多次触发,记得先调用Lst_genre.Items.Clear()清空一下,不然曲目会重复出现哦。

内容的提问来源于stack exchange,提问作者user9108424

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:24:27