[英]Is there any reason to use CopyToAsync between two MemoryStreams
您知道兩個流都是內存流。 兩個流都由內存中的字節緩沖區支持,因此有沒有使用CopyToAsync和CopyTo的點? 一個簡單的例子:
MemoryStream stream1 = new MemoryStream();
MemoryStream stream2 = new MemoryStream();
...//do something to add data to stream1
await stream1.CopyToAsync(stream2);
不, MemoryStream
上的所有“異步”方法實際上都是同步的。 CopyToAsync
和朋友只存在於MemoryStream
因為它們存在於Stream
。
如果一個或另一個流具有真正的異步操作,則使用CopyToAsync
是有意義的,但如果您知道兩個流都是MemoryStream
,那么您只需調用CopyTo
並獲得相同的行為即可。
嗯,在詢問之前應該看一下MemoryStream的實現 :
// If destination is a MemoryStream, CopyTo synchronously:
memStrDest.Write(_buffer, pos, n);
所以,沒有意義。
這里會留下問題,以防它幫助別人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.