哪里有FIle.ReadAll***Async/WriteAll***Async/AppendAll***异步方法?

Den*_*nis 7 .net c# file task-parallel-library async-await

在类中有一堆相当方便的方法File,比如ReadAll***/ WriteAll***/ AppendAll***.

当我需要他们的异步对应物时,我遇到了很多情况,但它们根本不存在.

为什么?有任何陷阱吗?
我知道,这些方法可以轻松实现,但有没有理由不在开箱即用的框架中实现它们?

i3a*_*non 4

“...我需要它们的异步对应项,但它们就是不存在。为什么?”

与 async-await 一起添加到 .Net 框架的所有方法XXXAsync(不包括考虑异步开发的新库)都只是BeginXXX/ 的包装器EndXXX

他们没有添加任何新的异步操作,只是将旧的异步操作转换为新的基于任务的操作。例如这是UdpClient.SendAsync

public Task<int> SendAsync(byte[] datagram, int bytes)
{
    return Task<int>.Factory.FromAsync(BeginSend, EndSend, datagram, bytes, null);
}
Run Code Online (Sandbox Code Playgroud)

既然没有,没有File.BeginReadAll也是File.EndReadAll可以理解的File.ReadAllAsync

有什么陷阱吗?

实现这些方法的唯一陷阱是以真正异步的方式实现,而不是伪造异步。