gpt4 book ai didi

c# - FIle.ReadAll***Async/WriteAll***Async/AppendAll***Async 方法在哪里?

转载 作者:太空狗 更新时间:2023-10-29 20:30:18 30 4
gpt4 key购买 nike

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

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

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

最佳答案

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

与 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);
}

由于没有 File.BeginReadAllFile.EndReadAll,所以没有 File.ReadAllAsync 是可以理解的。

Are there any pitfalls?

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

关于c# - FIle.ReadAll***Async/WriteAll***Async/AppendAll***Async 方法在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32837405/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com