簡體   English   中英

避免將偏移量傳遞給C#MemoryStream寫

[英]avoiding passing offset to C# MemoryStream write

我有一個MemoryStream對象,該對象從一個函數傳遞到另一個函數,每個函數都向它添加一些內容(可能是字節,也可能更多)。
讀取中有匹配功能。

我可以避免自己更新偏移量,而讓“流”對其進行處理嗎?
(例如stream.Write(byte[]);類似於stream.WriteByte(byte);

我對該地區的所有文檔有些困惑

是的,您可以創建一個擴展方法 ,該方法始終將偏移量設置為0(即,從緩沖區中的零索引開始寫入)。

public static class Extensions
{
    public static void Write(this MemoryStream stream, byte[] buffer)
    {
        stream.Write(buffer, 0, buffer.Length);
    }
}

是的,您可以避免傳遞偏移量。

當您寫入內存流時,其Position屬性會增加寫入項的大小,因此下一個寫入項將在前一個寫入項之后。

因此,您可以只傳遞內存流。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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