C#如何将File.ReadLines转换为字符串数组?

我的问题是将读取行的过程从文本文件转换为数组而不是仅仅读取它。

我的代码中的错误出现在string[] lines = File.ReadLines("c:\\file.txt"); 与不能隐瞒转换….

有人可以建议代码以数组格式保存结果吗? 我已经放置了ReadAllLines代码,它能够将结果保存在数组中。 谢谢!

 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.IO; namespace Testing { class Analysis { static void Main() { string[] lines = File.ReadLines("c:\\file.txt"); foreach (string r in lines) { Console.WriteLine("-- {0}", r); } // Keep the console window open in debug mode. Console.WriteLine("Press any key to exit."); System.Console.ReadKey(); } } } 

ReadAllLines代码:

 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.IO; namespace Testing { class ReadFromFile { static void Main() { string[] lines = System.IO.File.ReadAllLines (@"C:\Users\Public\TestFolder\WriteLines2.txt"); System.Console.WriteLine("Contents of writeLines2.txt =:"); foreach (string line in lines) { Console.WriteLine("\t" + line); } // Keep the console window open in debug mode. Console.WriteLine("Press any key to exit."); System.Console.ReadKey(); } } } 

File.ReadLines()返回System.Collections.Generic.IEnumerable类型的对象
File.ReadAllLines()返回一个字符串数组。

如果要使用字符串数组,则需要调用正确的函数。

您可以使用Jim解决方案,只需使用ReadAllLines()或者您可以更改返回类型。

这也有效:

 System.Collections.Generic.IEnumerable lines = File.ReadLines("c:\\file.txt"); 

您可以使用任何实现IEnumerable的generics集合。 以IList为例。

 string[] lines = File.ReadLines("c:\\file.txt").ToArray(); 

虽然有人想知道为什么当ReadAllLines工作正常时你会想要这样做。

或者您可能只想枚举File.ReadLines的返回值:

 var lines = File.ReadAllLines("c:\\file.txt"); foreach (var line in lines) { Console.WriteLine("\t" + line); } 

更改string[] lines = File.ReadLines("c:\\file.txt");IEnumerable lines = File.ReadLines("c:\\file.txt"); 其余的代码应该可以正常工作。