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ść, na której ma zostać 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ść to (Int32.MaxValue) - origin), i origin jest indeksem w buforze bazowym, na którym rozpoczyna się strumień.
Uwagi
Ta metoda zastępuje SetLength.
Jeśli określona wartość jest mniejsza niż bieżąca długość strumienia, strumień jest 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 Write WriteByte 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, pojemność zostanie zwiększona, a bieżąca pozycja w strumieniu nie zostanie zmieniona. Jeśli długość zostanie zwiększona, zawartość strumienia między starą a nową długością zostanie zainicjowana na zera.
Uwaga
Wystąpienie MemoryStream musi obsługiwać pisanie dla tej metody, aby działała. Użyj właściwości , CanWrite aby określić, czy bieżące wystąpienie obsługuje pisanie. Aby uzyskać dodatkowe informacje, zobacz CanWrite.