Skip to Main Content
C# in a Nutshell, Second Edition
book

C# in a Nutshell, Second Edition

by Peter Drayton, Ben Albahari, Ted Neward
August 2003
Intermediate to advanced content levelIntermediate to advanced
928 pages
32h 1m
English
O'Reilly Media, Inc.
Content preview from C# in a Nutshell, Second Edition

Name

Stream

Synopsis

This class is the basic building block of I/O in the .NET Framework. Many types of application use a Stream in one way or another. When calling System.Console.WriteLine( ), you use a TextWriter, which contains a StreamWriter. When you design an ASP.NET application, the System.Web.UI.Page uses a System.Net.Sockets.NetworkStream. In fact, whenever you access a remote database server you are using a NetworkStream.

To determine whether a given Stream can read, write, or seek, check CanRead, CanWrite, or CanSeek, respectively. If your stream can seek, you may seek forward or backward using Seek( ). Length reveals the length of the stream, which can also be set by calling SetLength( ), and Position allows you to check your current position in the stream.

To perform asynchronous I/O, call BeginRead( ) or BeginWrite( ). Notification of an asynchronous operation comes in two ways: either via an System.AsyncCallback delegate callback passed in as part of the BeginRead( )/BeginWrite( ) call, or else by calling the EndRead( ) or EndWrite( ) method explicitly, which blocks the calling thread until the async operation completes.

Streams usually hold on to a precious resource (a network connection or a file handle), which should be freed as soon as it is not needed any more. Because destruction is completely nondeterministic with garbage collection, be sure to call Close( ) at the end of the Stream’s useful lifetime. (Alternatively, wrap the use of the Stream in a using block ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C# in a Nutshell

C# in a Nutshell

Ben Albahari, Ted Neward, Peter Drayton
C# 7.0 in a Nutshell

C# 7.0 in a Nutshell

Joseph Albahari, Ben Albahari
C# Cookbook, 2nd Edition

C# Cookbook, 2nd Edition

Jay Hilyard, Stephen Teilhet
C# Cookbook

C# Cookbook

Stephen Teilhet, Jay Hilyard

Publisher Resources

ISBN: 0596005261Catalog PageErrata