【问题标题】:How would I read every line of a text file and set each line as a separate string? [duplicate]我将如何读取文本文件的每一行并将每一行设置为单独的字符串? [复制]
【发布时间】:2021-05-22 22:16:14
【问题描述】:

我有这个代码:

      List<string[]> list = File.ReadLines(@"bin\save.dat")
                                .Select(r => r.TrimEnd('#').Split(','))
                                .ToList();

      Console.WriteLine(File.ReadLines(@"bin\save.dat"));

但它不断返回 System.IO.ReadLinesIterator

我在论坛上尝试过其他方法,但没有任何效果。

【问题讨论】:

  • 你是否浏览过 File 类中其他可用的方法,例如ReadAllLines()
  • “它一直返回 System.IO.ReadLinesIterator”——因为这是对象类型的名称,并且对象不会覆盖 ToString()。你不想打印对象本身,你想打印它的内容。请参阅副本以了解正在发生的事情以及如何正确使用 ReadLines() 的示例。

标签: c# winforms


【解决方案1】:

要将每一行显示到控制台,一种解决方案是更改

Console.WriteLine(File.ReadLines(@"bin\save.dat"));

foreach (var line in File.ReadLines(@"bin\save.dat"))
    Console.WriteLine(line);

【讨论】:

    【解决方案2】:

    尝试使用 StreamReader :

    System.IO.StreamReader file = new System.IO.StreamReader(@"bin\save.dat"); 
    
    
         
    

    然后如果你想获取所有行,你可以循环到文件末尾:

    string line;
         while((line = file.ReadLine()) != null)
    {
      //do something with line
    }
    

    【讨论】:

    • StreamReader 实现了IDisposable,因此应该正确处理。
    猜你喜欢
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多