MemoryStream.SetLength(Int64) Yöntem

Tanım

Geçerli akışın uzunluğunu belirtilen değere ayarlar.

public:
 override void SetLength(long value);
public override void SetLength(long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)

Parametreler

value
Int64

Ayarlanacağı uzunluk.

Özel durumlar

Geçerli akış yeniden boyutlandırılamaz ve value geçerli kapasiteden daha büyük.

-veya-

Geçerli akış yazmayı desteklemiyor.

value negatif

-veya-

.NET 11 ve sonraki sürümlerde valueArray.MaxLength değerinden büyüktür.

-veya-

.NET 10 ve önceki sürümlerde, value, en fazla uzunluğun (MemoryStream - ) olduğu origin uzunluğu üst sınırından büyüktür ve origin akışın başlatıldığı temel arabellekte yer alan dizindir.

Açıklamalar

Bu yöntem geçersiz kılar SetLength.

Belirtilen değer akışın geçerli uzunluğundan küçükse akış kesilir. Kesmeden sonra akışın içindeki geçerli konum akışın sonunu geçtiyse, ReadByte yöntemi -1 döndürür, Read yöntem sağlanan bayt dizisine sıfır bayt okur ve WriteWriteByte yöntemler akışın sonuna belirtilen baytları ekleyerek uzunluğunu artırır. Belirtilen değer geçerli kapasiteden büyükse ve akış yeniden boyutlandırılabilirse, kapasite artar ve akıştaki geçerli konum değişmez. Uzunluk artırılırsa, eski ve yeni uzunluk arasındaki akışın içeriği sıfır olarak başlatılır.

Note

MemoryStream Bu yöntemin çalışması için bir örneğin yazmayı desteklemesi gerekir. CanWrite Geçerli örneğin yazmayı destekleyip desteklemediğini belirlemek için özelliğini kullanın. Ek bilgi için bkz. CanWrite.

Şunlara uygulanır

Ayrıca bkz.