Write bytes to memory and read back stream facts.

streams A `MemoryStream` stores bytes in memory instead of on disk.

Memory Stream

firstByte
MemoryStreamExample.cs
Replay: real traced execution (multi-file project)
using System;
using System.IO;

class Program
{
    static void Main()
    {
        int firstByte = 65;

        using MemoryStream stream = new MemoryStream();
        stream.WriteByte((byte)firstByte);
        stream.WriteByte(90);

        long length = stream.Length;
        int first = (int)stream.ToArray()[0];

        Console.WriteLine($"length={length}");
        Console.WriteLine($"first={first}");
    }
}
using System;
using System.IO;

class Program
{
    static void Main()
    {
        int firstByte = 66;

        using MemoryStream stream = new MemoryStream();
        stream.WriteByte((byte)firstByte);
        stream.WriteByte(90);

        long length = stream.Length;
        int first = (int)stream.ToArray()[0];

        Console.WriteLine($"length={length}");
        Console.WriteLine($"first={first}");
    }
}
using System;
using System.IO;

class Program
{
    static void Main()
    {
        int firstByte = 67;

        using MemoryStream stream = new MemoryStream();
        stream.WriteByte((byte)firstByte);
        stream.WriteByte(90);

        long length = stream.Length;
        int first = (int)stream.ToArray()[0];

        Console.WriteLine($"length={length}");
        Console.WriteLine($"first={first}");
    }
}
  1. firstByte ← 65, length ← 2, first ← 65

    5{6    static void Main()7    {8        int firstByte→ 65 = 65; //@firstByte=66, 67910        using MemoryStream stream = new MemoryStream();11        stream.WriteByte((byte)firstByte);12        stream.WriteByte(90);1314        long length→ 2 = stream.Length2;15        int first→ 65 = (int)stream.ToArray()[0];1617        Console.WriteLine($"length={length2}");18        Console.WriteLine($"first={first65}");19    }
    outputlength=2
    first=65
  1. firstByte ← 66, length ← 2, first ← 66

    5{6    static void Main()7    {8        int firstByte→ 66 = 66;910        using MemoryStream stream = new MemoryStream();11        stream.WriteByte((byte)firstByte);12        stream.WriteByte(90);1314        long length→ 2 = stream.Length2;15        int first→ 66 = (int)stream.ToArray()[0];1617        Console.WriteLine($"length={length2}");18        Console.WriteLine($"first={first66}");19    }
    outputlength=2
    first=66
  1. firstByte ← 67, length ← 2, first ← 67

    5{6    static void Main()7    {8        int firstByte→ 67 = 67;910        using MemoryStream stream = new MemoryStream();11        stream.WriteByte((byte)firstByte);12        stream.WriteByte(90);1314        long length→ 2 = stream.Length2;15        int first→ 67 = (int)stream.ToArray()[0];1617        Console.WriteLine($"length={length2}");18        Console.WriteLine($"first={first67}");19    }
    outputlength=2
    first=67