public static async ???? ReadFileLineByLineAsync(string file)
{
using(StreamReader s = new StreamReader(file))
{
while (!s.EndOfStream)
yield return await s.ReadLineAsync();
}
}
我想编写一个异步功能来逐行读取文件。此函数的返回类型应该是什么。我对此表示任何建议。
答案 0 :(得分:0)
您可以改用Reactive Linq Observable
:
public static IObservable<string> ReadFileLineByLineAsync(string file)
{
return Observable.Create<string>(
(obs, token) =>
Task.Factory.StartNew(
() =>
{
using (var s = new StreamReader(file))
{
while (!s.EndOfStream)
obs.OnNext(s.ReadLine());
}
obs.OnCompleted();
},
token));
}