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

Where are FIle.ReadAll***Async/WriteAll***Async/AppendAll***Async methods?

Fileclass里面有一堆比较方便的方法,比如ReadAll***/WriteAll***/AppendAll***.

我遇到过很多情况,当我需要它们的异步对象时,它们根本不存在。

为什么?有什么陷阱吗?
我知道,这些方法可以很容易地实现,但是有什么理由不在开箱即用的框架中实现它们吗?

"... I need their asynchronous counterparts, but they just don't exist. Why?"

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

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

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

既然没有File.BeginReadAllFile.EndReadAll,那么没有File.ReadAllAsync也是可以理解的。

Are there any pitfalls?

实现这些方法的唯一缺陷是以真正异步的方式执行,而不是假装异步。