This documentation is archived and is not being maintained.

SerialPort.Write Method (Byte[], Int32, Int32)

Note: This method is new in the .NET Framework version 2.0.

Writes a specified number of bytes to an output buffer at the specified offset.

Namespace: System.IO.Ports
Assembly: System (in system.dll)

public void Write (
	byte[] buffer,
	int offset,
	int count
public void Write (
	byte[] buffer, 
	int offset, 
	int count
public function Write (
	buffer : byte[], 
	offset : int, 
	count : int



The byte array to write the output to.


The offset in the buffer array to begin writing.


The number of bytes to write.

Exception typeCondition


The buffer passed is a null reference (Nothing in Visual Basic).


The specified port is not open.


The offset or count parameters are outside a valid region of the buffer being passed. Either offset or count is less than zero.


offset plus count is greater than the length of the buffer.


The operation did not complete before the time-out period ended.

Use this method when you want to write to a byte buffer to create output to a serial port.

If there are too many bytes in the input buffer and Handshake is set to XOnXOff then the SerialPort object may raise a TimeoutException while it waits for the device to be ready to accept more data.

By default, SerialPort uses ASCIIEncoding to encode the characters. ASCIIEncoding encodes all characters greater then 127 as (char)63 or '?'. To support additional characters in that range, set Encoding to UTF8Encoding, UTF32Encoding, or UnicodeEncoding.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

.NET Compact Framework

Supported in: 2.0