Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否有任何理由在两个MemoryStream之间使用CopyToAsync_C# - Fatal编程技术网

C# 是否有任何理由在两个MemoryStream之间使用CopyToAsync

C# 是否有任何理由在两个MemoryStream之间使用CopyToAsync,c#,C#,您知道这两个流都是内存流。这两个流都由内存中的字节缓冲区支持,所以使用CopyToAsync和CopyTo有什么意义吗?一个简单的例子: MemoryStream stream1 = new MemoryStream(); MemoryStream stream2 = new MemoryStream(); ...//do something to add data to stream1 await stream1.CopyToAsync(stream2); 嗯,在询问之前应该先看一下: //

您知道这两个流都是内存流。这两个流都由内存中的字节缓冲区支持,所以使用CopyToAsync和CopyTo有什么意义吗?一个简单的例子:

MemoryStream stream1 = new MemoryStream();
MemoryStream stream2 = new MemoryStream();
...//do something to add data to stream1
await stream1.CopyToAsync(stream2);

嗯,在询问之前应该先看一下:

// If destination is a MemoryStream, CopyTo synchronously:
memStrDest.Write(_buffer, pos, n);
所以,没有意义

将问题留在这里,以防对其他人有所帮助

否,
MemoryStream
上的所有“异步”方法实际上都是同步的
CopyToAsync
和好友只存在于
MemoryStream
上,因为它们存在于
流中


如果一个或另一个流具有真正的异步操作,则使用
CopyToAsync
是有意义的,但是如果您知道两个流都是
MemoryStream
,那么您只需调用
CopyTo
即可获得相同的行为。

谢谢,这是有意义的。