Cha*_*Pye 0 .net c# file-io streamreader
我有一个名为的文本文件C:/test.txt:
1 2 3 4 5 6
我想用这个文件读取每个数字StreamReader.
我怎样才能做到这一点?
你真的需要用a StreamReader做这个吗?
IEnumerable<int> numbers =
Regex.Split(File.ReadAllText(@"c:\test.txt"), @"\D+").Select(int.Parse);
Run Code Online (Sandbox Code Playgroud)
(显然,如果在一次点击中读取整个文件是不切实际的,那么你需要对它进行流式处理,但是如果你能够使用File.ReadAllText那么那就是这样做的方式,在我看来.)
为了完整起见,这是一个流媒体版本:
public IEnumerable<int> GetNumbers(string fileName)
{
using (StreamReader sr = File.OpenText(fileName))
{
string line;
while ((line = sr.ReadLine()) != null)
{
foreach (string item in Regex.Split(line, @"\D+"))
{
yield return int.Parse(item);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)