MemoryStream 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 MemoryStream 類別的新實例。
多載
MemoryStream() |
使用可擴充容量初始化為零,初始化 MemoryStream 類別的新實例。 |
MemoryStream(Byte[]) |
根據指定的位元組陣列,初始化 MemoryStream 類別的新不可重設大小實例。 |
MemoryStream(Int32) |
使用已指定初始化的可擴充容量,初始化 MemoryStream 類別的新實例。 |
MemoryStream(Byte[], Boolean) |
根據指定的位元組陣列,初始化 MemoryStream 類別的新不可重設大小實例,並將 CanWrite 屬性設定為指定。 |
MemoryStream(Byte[], Int32, Int32) |
根據位元組數位的指定區域(index),初始化 MemoryStream 類別的新不可重設大小實例。 |
MemoryStream(Byte[], Int32, Int32, Boolean) |
根據位元組陣列的指定區域,初始化 MemoryStream 類別的新不可重設大小實例,並將 CanWrite 屬性設定為指定。 |
MemoryStream(Byte[], Int32, Int32, Boolean, Boolean) |
根據位元組陣列的指定區域,初始化 MemoryStream 類別的新實例,並將 CanWrite 屬性設定為指定,以及呼叫 GetBuffer() 設定為指定的功能。 |
MemoryStream()
MemoryStream(Byte[])
根據指定的位元組陣列,初始化 MemoryStream 類別的新不可重設大小實例。
public:
MemoryStream(cli::array <System::Byte> ^ buffer);
public MemoryStream (byte[] buffer);
new System.IO.MemoryStream : byte[] -> System.IO.MemoryStream
Public Sub New (buffer As Byte())
參數
- buffer
- Byte[]
要從中建立目前數據流的不帶正負號位元組陣列。
例外狀況
buffer
null
。
備註
CanRead、CanSeek與 CanWrite 屬性都設定為 true
。
Capacity 會設定為指定位元組數位的長度。 新的數據流可以寫入,但無法重設大小。
數據流的長度不能設定為大於指定位元組陣列之初始長度的值;不過,數據流可以截斷(請參閱 SetLength)。
此建構函式不會公開基礎數據流。 GetBuffer 會擲回 UnauthorizedAccessException。
另請參閱
適用於
MemoryStream(Int32)
使用已指定初始化的可擴充容量,初始化 MemoryStream 類別的新實例。
public:
MemoryStream(int capacity);
public MemoryStream (int capacity);
new System.IO.MemoryStream : int -> System.IO.MemoryStream
Public Sub New (capacity As Integer)
參數
- capacity
- Int32
內部陣列的初始大小,以位元組為單位。
例外狀況
capacity
為負數。
範例
此程式代碼範例是提供給 MemoryStream 類別之較大範例的一部分。
MemoryStream^ memStream = gcnew MemoryStream( 100 );
using(MemoryStream memStream = new MemoryStream(100))
Dim memStream As New MemoryStream(100)
備註
CanRead、CanSeek與 CanWrite 屬性都設定為 true
。
當您使用 SetLength 方法將長度設定為大於目前數據流容量的值時,容量會自動增加。 除了使用 byte[] 參數建構的 MemoryStream
之外,MemoryStream
結尾的寫入作業會展開 MemoryStream
。
此建構函式會公開 GetBuffer 傳回的基礎數據流。
另請參閱
適用於
MemoryStream(Byte[], Boolean)
根據指定的位元組陣列,初始化 MemoryStream 類別的新不可重設大小實例,並將 CanWrite 屬性設定為指定。
public:
MemoryStream(cli::array <System::Byte> ^ buffer, bool writable);
public MemoryStream (byte[] buffer, bool writable);
new System.IO.MemoryStream : byte[] * bool -> System.IO.MemoryStream
Public Sub New (buffer As Byte(), writable As Boolean)
參數
- buffer
- Byte[]
要從中建立此數據流的不帶正負號位元組陣列。
例外狀況
buffer
null
。
備註
CanRead 與 CanSeek 屬性都設定為 true
。
Capacity 會設定為指定位元組數位的長度。
數據流的長度不能設定為大於指定位元組陣列之初始長度的值;不過,數據流可以截斷(請參閱 SetLength)。
此建構函式不會公開基礎數據流。 GetBuffer 會擲回 UnauthorizedAccessException。
另請參閱
適用於
MemoryStream(Byte[], Int32, Int32)
根據位元組數位的指定區域(index),初始化 MemoryStream 類別的新不可重設大小實例。
public:
MemoryStream(cli::array <System::Byte> ^ buffer, int index, int count);
public MemoryStream (byte[] buffer, int index, int count);
new System.IO.MemoryStream : byte[] * int * int -> System.IO.MemoryStream
Public Sub New (buffer As Byte(), index As Integer, count As Integer)
參數
- buffer
- Byte[]
要從中建立此數據流的不帶正負號位元組陣列。
- index
- Int32
buffer
開始數據流的索引。
- count
- Int32
以位元組為單位的數據流長度。
例外狀況
buffer
null
。
index
或 count
小於零。
緩衝區長度減去 index
小於 count
。
備註
CanRead、CanSeek和 CanWrite 屬性都設定為 true
,但容量無法變更。
Capacity 設定為 count
。
數據流的長度不能設定為大於指定位元組陣列之初始長度的值;不過,數據流可以截斷(請參閱 SetLength)。
此建構函式不會公開基礎數據流。 GetBuffer 會擲回 UnauthorizedAccessException。 不過,您可以寫入數據流。
另請參閱
適用於
MemoryStream(Byte[], Int32, Int32, Boolean)
根據位元組陣列的指定區域,初始化 MemoryStream 類別的新不可重設大小實例,並將 CanWrite 屬性設定為指定。
public:
MemoryStream(cli::array <System::Byte> ^ buffer, int index, int count, bool writable);
public MemoryStream (byte[] buffer, int index, int count, bool writable);
new System.IO.MemoryStream : byte[] * int * int * bool -> System.IO.MemoryStream
Public Sub New (buffer As Byte(), index As Integer, count As Integer, writable As Boolean)
參數
- buffer
- Byte[]
要從中建立此數據流的不帶正負號位元組陣列。
- index
- Int32
buffer
中開始數據流的索引。
- count
- Int32
以位元組為單位的數據流長度。
例外狀況
buffer
null
。
index
或 count
為負數。
緩衝區長度減去 index
小於 count
。
備註
CanRead 與 CanSeek 屬性都設定為 true
。
Capacity 設定為 count
。
數據流的長度不能設定為大於指定位元組陣列之初始長度的值;不過,數據流可以截斷(請參閱 SetLength)。
此建構函式不會公開基礎數據流。
GetBuffer 會擲回 UnauthorizedAccessException。 不過,如果 writable
true
,您可以寫入數據流。
另請參閱
適用於
MemoryStream(Byte[], Int32, Int32, Boolean, Boolean)
根據位元組陣列的指定區域,初始化 MemoryStream 類別的新實例,並將 CanWrite 屬性設定為指定,以及呼叫 GetBuffer() 設定為指定的功能。
public:
MemoryStream(cli::array <System::Byte> ^ buffer, int index, int count, bool writable, bool publiclyVisible);
public MemoryStream (byte[] buffer, int index, int count, bool writable, bool publiclyVisible);
new System.IO.MemoryStream : byte[] * int * int * bool * bool -> System.IO.MemoryStream
Public Sub New (buffer As Byte(), index As Integer, count As Integer, writable As Boolean, publiclyVisible As Boolean)
參數
- buffer
- Byte[]
要從中建立此數據流的不帶正負號位元組陣列。
- index
- Int32
buffer
開始數據流的索引。
- count
- Int32
以位元組為單位的數據流長度。
- publiclyVisible
- Boolean
true
啟用 GetBuffer(),這會傳回建立數據流的來源不帶正負號位元組陣列;否則,false
。
例外狀況
buffer
null
。
index
或 count
為負數。
緩衝區長度減去 index
小於 count
。
備註
CanRead 與 CanSeek 屬性都設定為 true
。
Capacity 設定為 count
。
您可以寫入新的數據流實例,但無法變更基礎位元組陣列的 Capacity。 數據流的長度不能設定為大於指定位元組陣列之初始長度的值;不過,數據流可以截斷(請參閱 SetLength)。