读取从文本文件到列表框C#的所有行

时间:2015-02-01 02:13:43

标签: c#

它说我需要String ReadAllLines(...)有人可以帮我设置它。

我不明白我将如何将文本文件发送到ListBox

private void futureButton4_Click(object sender, EventArgs e)
{
    ofd.Filter = "TXT|* .txt";

    if (ofd.ShowDialog() == DialogResult.OK)
    {
        string[] lines = System.IO.File.ReadAllLines(DialogResult);
        listbox.Items.Add(lines);
    }
}

1 个答案:

答案 0 :(得分:4)

如果您想一次性添加字符串集合,请使用AddRange()代替Add()。此外,您需要引用FileName属性以获取所选文件的完整路径。

string[] lines = System.IO.File.ReadAllLines(ofd.FileName);

listbox.Items.AddRange(lines);

Add()的调用最终会在集合上调用ToString(),因此您只能看到类类型,在本例中为String[] Array

当您使用AddRange()时,它会对集合中的每个项目调用ToString()。对于字符串集合,您只需看到每个字符串。如果您使用的是自己创建的自定义类,则必须覆盖ToString()以显示合理的内容,或者您​​可以在AddRange()的调用中使用一些LINQ来选择你想要展示的财产。