This documentation is archived and is not being maintained.

TextReader.Read Method (Char[], Int32, Int32)

Reads a maximum of count characters from the current stream and writes the data to buffer, beginning at index.

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

public virtual int Read (
	[InAttribute] [OutAttribute] char[] buffer,
	int index,
	int count
public int Read (
	/** @attribute InAttribute() */ /** @attribute OutAttribute() */ char[] buffer, 
	int index, 
	int count
public function Read (
	buffer : char[], 
	index : int, 
	count : int
) : int



When this method returns, contains the specified character array with the values between index and (index + count - 1) replaced by the characters read from the current source.


The place in buffer at which to begin writing.


The maximum number of characters to read. If the end of the stream is reached before count of characters is read into buffer, the current method returns.

Return Value

The number of characters that have been read. The number will be less than or equal to count, depending on whether the data is available within the stream. This method returns zero if called when no more characters are left to read.

Exception typeCondition


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


The buffer length minus index is less than count.


index or count is negative.


The TextReader is closed.


An I/O error occurs.

This method returns after either count characters are read or the end of the file is reached. ReadBlock is a blocking version of this method.

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, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0