共用方式為


BufferedStream.Write 方法

定義

多載

名稱 Description
Write(ReadOnlySpan<Byte>)

將一串位元組寫入目前緩衝的串流,並依照寫入的位元組數將該緩衝串流的當前位置往前推進。

Write(Byte[], Int32, Int32)

將位元組複製到緩衝中的串流,並依照寫入的位元組數將緩衝串流中的當前位置推進。

Write(ReadOnlySpan<Byte>)

來源:
BufferedStream.cs
來源:
BufferedStream.cs
來源:
BufferedStream.cs
來源:
BufferedStream.cs
來源:
BufferedStream.cs

將一串位元組寫入目前緩衝的串流,並依照寫入的位元組數將該緩衝串流的當前位置往前推進。

public:
 override void Write(ReadOnlySpan<System::Byte> buffer);
public override void Write(ReadOnlySpan<byte> buffer);
override this.Write : ReadOnlySpan<byte> -> unit
Public Overrides Sub Write (buffer As ReadOnlySpan(Of Byte))

參數

buffer
ReadOnlySpan<Byte>

一個記憶區域。 此方法會將該區域的內容複製到目前緩衝的串流中。

備註

利用該 CanWrite 屬性判斷目前實例是否支援寫入。 使用該 WriteAsync 方法非同步寫入目前緩衝的串流。

若寫入操作成功,緩衝串流中的位置會依寫入的位元組數前進。 若發生例外,緩衝串流中的位置保持不變。

適用於

Write(Byte[], Int32, Int32)

來源:
BufferedStream.cs
來源:
BufferedStream.cs
來源:
BufferedStream.cs
來源:
BufferedStream.cs
來源:
BufferedStream.cs

將位元組複製到緩衝中的串流,並依照寫入的位元組數將緩衝串流中的當前位置推進。

public:
 override void Write(cli::array <System::Byte> ^ buffer, int offset, int count);
public:
 override void Write(cli::array <System::Byte> ^ array, int offset, int count);
public override void Write(byte[] buffer, int offset, int count);
public override void Write(byte[] array, int offset, int count);
override this.Write : byte[] * int * int -> unit
override this.Write : byte[] * int * int -> unit
Public Overrides Sub Write (buffer As Byte(), offset As Integer, count As Integer)
Public Overrides Sub Write (array As Byte(), offset As Integer, count As Integer)

參數

bufferarray
Byte[]
offset
Int32

緩衝區中開始將位元組複製到目前緩衝串流的偏移量。

count
Int32

目前緩衝串流需寫入的位元組數。

例外狀況

offset值長度arraycount於 。

arraynull

offsetcount 是陰性。

該流為閉合或 null

該課程不支援寫作。

方法在溪流關閉後才被呼叫。

範例

此程式碼範例是本類別更大範例 BufferedStream 的一部分。

// Send the data using the BufferedStream.
Console.WriteLine("Sending data using BufferedStream.");
startTime = DateTime.Now;
for(int i = 0; i < numberOfLoops; i++)
{
    bufStream.Write(dataToSend, 0, dataToSend.Length);
}
bufStream.Flush();
bufferedTime = (DateTime.Now - startTime).TotalSeconds;
Console.WriteLine("{0} bytes sent in {1} seconds.\n",
    numberOfLoops * dataToSend.Length,
    bufferedTime.ToString("F1"));
// Send the data using the BufferedStream.
printfn "Sending data using BufferedStream."
let startTime = DateTime.Now
for _ = 0 to numberOfLoops - 1 do
    bufStream.Write(dataToSend, 0, dataToSend.Length)
bufStream.Flush()
let bufferedTime = (DateTime.Now - startTime).TotalSeconds
printfn $"{numberOfLoops * dataToSend.Length} bytes sent in {bufferedTime:F1} seconds.\n"
' Send the data using the BufferedStream.
Console.WriteLine("Sending data using BufferedStream.")
startTime = DateTime.Now
For i As Integer = 1 To numberOfLoops
    bufStream.Write(dataToSend, 0, dataToSend.Length)
Next i

bufStream.Flush()
bufferedTime = DateTime.Now.Subtract(startTime).TotalSeconds
Console.WriteLine("{0} bytes sent In {1} seconds." & vbCrLf, _
    numberOfLoops * dataToSend.Length, _
    bufferedTime.ToString("F1"))

另請參閱

適用於