BufferedStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Method

Definition

Begins an asynchronous write operation. (Consider using WriteAsync(Byte[], Int32, Int32, CancellationToken) instead.)

C#
public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
C#
public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object state);
C#
public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object? state);

Parameters

buffer
Byte[]

The buffer containing data to write to the current stream.

offset
Int32

The zero-based byte offset in buffer at which to begin copying bytes to the current stream.

count
Int32

The maximum number of bytes to write.

callback
AsyncCallback

The method to be called when the asynchronous write operation is completed.

state
Object

A user-provided object that distinguishes this particular asynchronous write request from other requests.

Returns

An object that references the asynchronous write which could still be pending.

Exceptions

buffer length minus offset is less than count.

buffer is null.

offset or count is negative.

The stream does not support writing.

Remarks

In the .NET Framework 4 and earlier versions, you have to use methods such as BeginWrite and EndWrite to implement asynchronous file operations. These methods are still available in the .NET Framework 4.5 to support legacy code; however, the new async methods, such as ReadAsync, WriteAsync, and FlushAsync, help you implement asynchronous file operations more easily.

EndWrite must be called exactly once on every IAsyncResult from BeginWrite. EndWrite will block until the I/O operation has completed.

Applies to

Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1