Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Stream.ReadAsync-Methode: (Byte[], Int32, Int32, CancellationToken)

.NET Framework (current version)
 

Veröffentlicht: Oktober 2016

Liest eine Folge von Bytes asynchron aus dem aktuellen Stream, erhöht die Position im Stream um die Anzahl der gelesenen Bytes und überwacht Abbruchanfragen.

Namespace:   System.IO
Assembly:  mscorlib (in mscorlib.dll)

[ComVisibleAttribute(false)]
[HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)]
public virtual Task<int> ReadAsync(
	byte[] buffer,
	int offset,
	int count,
	CancellationToken cancellationToken
)

Parameter

buffer
Type: System.Byte[]

Der Puffer, in den die Daten geschrieben werden sollen.

offset
Type: System.Int32

Der Byteoffset im buffer, ab dem Daten aus dem Stream geschrieben werden.

count
Type: System.Int32

Die maximale Anzahl der zu lesenden Bytes.

cancellationToken
Type: System.Threading.CancellationToken

Das Token zum überwachen von Abbruchanforderungen . Der Standardwert ist None.

Rückgabewert

Type: System.Threading.Tasks.Task<Int32>

Eine Aufgabe, die den asynchronen Lesevorgang darstellt. Der Wert des TResult-Parameters enthält die Gesamtzahl der Bytes, die in den Puffer gelesen werden. Der Ergebniswert kann niedriger als die Anzahl der angeforderten Bytes sein, wenn die Anzahl an derzeit verfügbaren Bytes kleiner ist als die angeforderte Anzahl, oder sie kann 0 (null) sein, wenn das Datenstromende erreicht ist.

Exception Condition
ArgumentNullException

buffer ist null.

ArgumentOutOfRangeException

offset oder count ist ein negativer Wert.

ArgumentException

Die Summe von offset und count ist größer als die Pufferlänge.

NotSupportedException

Lesevorgänge werden vom Stream nicht unterstützt.

ObjectDisposedException

Der Stream wurde verworfen.

InvalidOperationException

Der Stream wird zurzeit von einem vorherigen Lesevorgang verwendet.

Die ReadAsync -Methode können Sie ressourcenintensive e/a-Vorgänge ausführen, ohne den Hauptthread zu blockieren. Diese Überlegungen zur Leistung sind insbesondere in einer Windows 8.x Store-App oder Desktop-App wichtig, bei der ein zeitaufwendiger Streamvorgang den UI-Thread blockieren kann und es dann den Anschein hat, dass Ihre App nicht funktioniert. Die asynchronen Methoden wird in Verbindung mit der async und await in Visual Basic und C#-Schlüsselwörter.

Verwenden der CanRead -Eigenschaft bestimmt, ob die aktuelle Instanz Lesevorgänge unterstützt.

Wenn der Vorgang abgebrochen wird, bevor er abgeschlossen ist, enthält die zurückgegebene Aufgabe der Canceled -Wert für die Status Eigenschaft.

Ein Beispiel finden Sie unter der ReadAsync(Byte[], Int32, Int32) überladen.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 4.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: