Aracılığıyla paylaş


MemoryStream.Read Yöntem

Tanım

Aşırı Yüklemeler

Read(Span<Byte>)

Geçerli bellek akışından bir bayt dizisini okur ve bellek akışı içindeki konumu okunan bayt sayısına göre ilerletir.

Read(Byte[], Int32, Int32)

Geçerli akıştan bir bayt bloğu okur ve verileri arabelleğe yazar.

Read(Span<Byte>)

Kaynak:
MemoryStream.cs
Kaynak:
MemoryStream.cs
Kaynak:
MemoryStream.cs

Geçerli bellek akışından bir bayt dizisini okur ve bellek akışı içindeki konumu okunan bayt sayısına göre ilerletir.

public:
 override int Read(Span<System::Byte> destination);
public:
 override int Read(Span<System::Byte> buffer);
public override int Read (Span<byte> destination);
public override int Read (Span<byte> buffer);
override this.Read : Span<byte> -> int
override this.Read : Span<byte> -> int
Public Overrides Function Read (destination As Span(Of Byte)) As Integer
Public Overrides Function Read (buffer As Span(Of Byte)) As Integer

Parametreler

destinationbuffer
Span<Byte>

Bellek bölgesi. Bu yöntem döndürdüğünde, bu aralığın içeriği geçerli bellek akışı kaynağından okunan bayt ile değiştirilir.

Döndürülenler

Arabelleğe okunan toplam bayt sayısı. Bu, şu anda kullanılabilir sayıda bayt yoksa arabellekte ayrılan bayt sayısından az veya bellek akışının sonuna ulaşıldıysa sıfır (0) olabilir.

Şunlara uygulanır

Read(Byte[], Int32, Int32)

Kaynak:
MemoryStream.cs
Kaynak:
MemoryStream.cs
Kaynak:
MemoryStream.cs

Geçerli akıştan bir bayt bloğu okur ve verileri arabelleğe yazar.

public:
 override int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public override int Read (byte[] buffer, int offset, int count);
override this.Read : byte[] * int * int -> int
Public Overrides Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer

Parametreler

buffer
Byte[]

Bu yöntem döndürdüğünde, ve (offset + count - 1) arasındaki offset değerlerin geçerli akıştan okunan karakterlerle değiştirdiği belirtilen bayt dizisini içerir.

offset
Int32

Geçerli akıştan veri depolamaya başlamak için sıfır tabanlı bayt uzaklığı buffer .

count
Int32

Okunacak bayt sayısı üst sınırı.

Döndürülenler

Arabelleğe yazılan toplam bayt sayısı. Bu, şu anda kullanılabilir bayt sayısı yoksa istenen bayt sayısından az veya herhangi bir bayt okunmadan önce akışın sonuna ulaşılırsa sıfır olabilir.

Özel durumlar

buffer, null değeridir.

offset veya count negatiftir.

offset arabellek uzunluğundan çıkarılmış olan değerinden countküçüktür.

Geçerli akış örneği kapatıldı.

Örnekler

Bu kod örneği, sınıfı için MemoryStream sağlanan daha büyük bir örneğin parçasıdır.

// Read the first 20 bytes from the stream.
byteArray = gcnew array<Byte>(memStream->Length);
count = memStream->Read( byteArray, 0, 20 );
// Read the first 20 bytes from the stream.
byteArray = new byte[memStream.Length];
count = memStream.Read(byteArray, 0, 20);
' Read the first 20 bytes from the stream.
byteArray = _
    New Byte(CType(memStream.Length, Integer)){}
count = memStream.Read(byteArray, 0, 20)

Açıklamalar

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

parametresi, offset geçerli akıştaki verilerin yazıldığı ilk bayt buffer uzaklığını verir. parametresi geçerli count akıştan okunacak en fazla bayt sayısını verir. Döndürülen değer, okunan gerçek bayt sayısıdır veya akışın sonuna ulaşılırsa sıfırdır.

Okuma işlemi başarılı olursa, akıştaki geçerli konum okunan bayt sayısına göre ilerler. Bir özel durum oluşursa, akış içindeki geçerli konum değişmeden kalır.

Read yöntemi yalnızca akışın sonuna ulaşılırsa sıfır döndürür. Diğer tüm durumlarda, Read geri dönmeden önce her zaman akıştan en az bir bayt okur. Tanımı gereği, çağrısı ReadRead üzerine akıştan kullanılabilir veri yoksa yöntemi sıfır döndürür (akışın sonuna otomatik olarak ulaşılır). Bir uygulama, akışın sonuna ulaşılmasa bile istenenden daha az bayt döndürmek için ücretsizdir.

Temel veri türlerini okumak için kullanın BinaryReader .

Dikkat

parametresinde buffer belirtilen bayt dizisi yöntemi tarafından GetBuffer döndürülen temel arabellekse, dizi içeriğinin üzerine yazılır ve özel durum atılmaz.

Ayrıca bkz.

Şunlara uygulanır