MemoryStream.SetLength(Int64) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Ustawia długość bieżącego strumienia na określoną wartość.
public:
override void SetLength(long value);
public override void SetLength (long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)
Parametry
- value
- Int64
Wartość, w której ma być ustawiona długość.
Wyjątki
Bieżący strumień nie można zmienić rozmiaru i value
jest większy niż bieżąca pojemność.
-lub-
Bieżący strumień nie obsługuje zapisu.
value
jest ujemna lub jest większa niż maksymalna długość MemoryStreamobiektu , gdzie maksymalna długość wynosi (Int32.MaxValue - origin
) i origin
jest indeksem w podstawowym buforze, w którym uruchamia się strumień.
Uwagi
Ta metoda zastępuje metodę SetLength.
Jeśli określona wartość jest mniejsza niż bieżąca długość strumienia, strumień zostanie obcięty. Jeśli po obcięciu bieżącej pozycji w strumieniu znajduje się poza końcem strumienia, ReadByte metoda zwraca wartość -1, Read metoda odczytuje zero bajtów do dostarczonej tablicy bajtów, a WriteWriteByte metody dołączają określone bajty na końcu strumienia, zwiększając jego długość. Jeśli określona wartość jest większa niż bieżąca pojemność, a strumień można zmienić rozmiar, zwiększa się pojemność, a bieżące położenie w strumieniu pozostaje niezmienione. W przypadku zwiększenia długości zawartość strumienia między starą a nową długością jest inicjowana na zera.
Uwaga
Aby MemoryStream ta metoda działała, wystąpienie musi obsługiwać pisanie. CanWrite Użyj właściwości , aby określić, czy bieżące wystąpienie obsługuje zapisywanie. Aby uzyskać dodatkowe informacje, zobacz CanWrite.