static void Main()
// Read all bytes in from a file on the disk.
byte file = File.ReadAllBytes("C:\\ICON1.png");
// Create a memory stream from those bytes.using (MemoryStream memory = new MemoryStream(file))
// Use the memory stream in a binary reader.
using (BinaryReader reader = new BinaryReader(memory))
// Read in each byte from memory.
for (int i = 0; i < file.Length; i++)
byte result = reader.ReadByte();
A discussion. Memory is much faster than disk or network accesses. With the MemoryStream class, we can act upon the byte array stored in memory rather than a file or other resource.
Note This consolidates resource acquisitions. It also gives you the ability to reliably use multiple streams on a single piece of data.
Also You can sometimes reuse a single Memory Stream. Store the MemoryStream instance as a field.
Then Call the Set Length (0) method on the Memory Stream instance to reset it. This will reduce allocations during the algorithm.
A summary. MemoryStream in C# programs allows you to use in-memory byte arrays or other data as though they are streams. Instead of storing data in files, you can store data in-memory.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Jul 31, 2021 (image).