Свойство Length
Stream.Length показывает, сколько
байт занимает поток. У MemoryStream
это число записанных байт. Текущее
смещение -
Position.
Длину меняют через
Write
или усечение у конкретных типов потоков.
Синтаксис
long len = stream.Length;
Пример
Давайте запишем пять байт и прочитаем
Length:
using System;
using System.IO;
class Program
{
static void Main()
{
using var ms = new MemoryStream();
ms.Write([1, 2, 3, 4, 5], 0, 5);
long res = ms.Length;
Console.WriteLine(res);
}
}
Результат выполнения кода:
5
Пример
Давайте проверим пустой поток:
using System;
using System.IO;
class Program
{
static void Main()
{
using var ms = new MemoryStream();
long res = ms.Length;
Console.WriteLine(res);
}
}
Результат выполнения кода:
0
Пример
Давайте увеличим длину второй записью:
using System;
using System.IO;
class Program
{
static void Main()
{
using var ms = new MemoryStream();
ms.Write([1, 2, 3], 0, 3);
ms.Write([4, 5], 0, 2);
long res = ms.Length;
Console.WriteLine(res);
}
}
Результат выполнения кода:
5