Freigeben über


BufferedStream.Write Methode

Definition

Überlädt

Name Beschreibung
Write(ReadOnlySpan<Byte>)

Schreibt eine Bytesequenz in den aktuellen gepufferten Datenstrom und wechselt die aktuelle Position innerhalb dieses gepufferten Datenstroms um die Anzahl der geschriebenen Bytes.

Write(Byte[], Int32, Int32)

Kopiert Bytes in den gepufferten Datenstrom und wechselt die aktuelle Position innerhalb des gepufferten Datenstroms um die Anzahl der geschriebenen Bytes.

Write(ReadOnlySpan<Byte>)

Quelle:
BufferedStream.cs
Quelle:
BufferedStream.cs
Quelle:
BufferedStream.cs
Quelle:
BufferedStream.cs
Quelle:
BufferedStream.cs

Schreibt eine Bytesequenz in den aktuellen gepufferten Datenstrom und wechselt die aktuelle Position innerhalb dieses gepufferten Datenstroms um die Anzahl der geschriebenen Bytes.

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))

Parameter

buffer
ReadOnlySpan<Byte>

Ein Speicherbereich. Diese Methode kopiert den Inhalt dieses Bereichs in den aktuellen gepufferten Datenstrom.

Hinweise

Verwenden Sie die CanWrite Eigenschaft, um zu bestimmen, ob die aktuelle Instanz das Schreiben unterstützt. Verwenden Sie die WriteAsync Methode, um asynchron in den aktuellen gepufferten Datenstrom zu schreiben.

Wenn der Schreibvorgang erfolgreich ist, wechselt die Position innerhalb des gepufferten Datenstroms um die Anzahl der geschriebenen Bytes. Wenn eine Ausnahme auftritt, bleibt die Position innerhalb des gepufferten Datenstroms unverändert.

Gilt für:

Write(Byte[], Int32, Int32)

Quelle:
BufferedStream.cs
Quelle:
BufferedStream.cs
Quelle:
BufferedStream.cs
Quelle:
BufferedStream.cs
Quelle:
BufferedStream.cs

Kopiert Bytes in den gepufferten Datenstrom und wechselt die aktuelle Position innerhalb des gepufferten Datenstroms um die Anzahl der geschriebenen Bytes.

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)

Parameter

bufferarray
Byte[]
offset
Int32

Der Offset im Puffer, bei dem mit dem Kopieren von Bytes in den aktuellen gepufferten Datenstrom begonnen werden soll.

count
Int32

Die Anzahl der Bytes, die in den aktuellen gepufferten Datenstrom geschrieben werden sollen.

Ausnahmen

Die Länge des array Minuszeichens offset ist kleiner als count.

array ist null.

offset oder count ist negativ.

Der Datenstrom ist geschlossen oder null.

Der Datenstrom unterstützt das Schreiben nicht.

Methoden wurden aufgerufen, nachdem der Datenstrom geschlossen wurde.

Beispiele

Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die BufferedStream Klasse bereitgestellt wird.

// 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"))

Weitere Informationen

Gilt für: