簡體   English   中英

是否有任何理由在兩個MemoryStream之間使用CopyToAsync

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM