您知道两个流都是内存流。两个流都由内存中的字节缓冲区支持,因此有没有使用CopyToAsync和CopyTo的点?一个简单的例子:
MemoryStream stream1 = new MemoryStream();
MemoryStream stream2 = new MemoryStream();
...//do something to add data to stream1
await stream1.CopyToAsync(stream2);
答案 0 :(得分:2)
不,MemoryStream
上的所有“异步”方法实际上都是同步的。 CopyToAsync
和朋友仅存在于MemoryStream
,因为它们存在于Stream
。
如果一个或另一个流具有真正的异步操作,则使用CopyToAsync
是有意义的,但如果您知道两个流都是MemoryStream
,那么您只需调用CopyTo
并获取同样的行为。
答案 1 :(得分:1)
// If destination is a MemoryStream, CopyTo synchronously:
memStrDest.Write(_buffer, pos, n);
所以,没有意义。
这里会留下问题以防万一。