MemoryStream.Read Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| Read(Span<Byte>) |
Geçerli bellek akışından bir bayt dizisi okur ve bellek akışındaki konumu okunan bayt sayısına göre ilerler. |
| 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
- Kaynak:
- MemoryStream.cs
- Kaynak:
- MemoryStream.cs
Geçerli bellek akışından bir bayt dizisi okur ve bellek akışındaki konumu okunan bayt sayısına göre ilerler.
public:
override int Read(Span<System::Byte> buffer);
public:
override int Read(Span<System::Byte> destination);
public override int Read(Span<byte> buffer);
public override int Read(Span<byte> destination);
override this.Read : Span<byte> -> int
override this.Read : Span<byte> -> int
Public Overrides Function Read (buffer As Span(Of Byte)) As Integer
Public Overrides Function Read (destination As Span(Of Byte)) As Integer
Parametreler
Bellek bölgesi. Bu yöntem döndürdüğünde, bu yayılma alanının içeriği geçerli bellek akışı kaynağından okunan baytlar 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
- 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 (offsetoffset + - 1) arasındaki count değerlerin geçerli akıştan okunan karakterlerle değiştirilerek belirtilen bayt dizisini içerir.
- offset
- Int32
Geçerli akıştaki verilerin depolandığı 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'e eşittir.
offset veya count negatiftir.
offset arabellek uzunluğundan çıkarılmış olan değerinden küçüktür count.
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 = 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ın buffer uzaklığını verir. parametresi geçerli count akıştan okunacak bayt sayısı üst sınırı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ıştaki 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ına göre, ç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). Akışın sonuna ulaşılmasa bile uygulamanın istenenden daha az bayt döndürmesi ücretsizdir.
İlkel veri türlerini okumak için kullanın BinaryReader .
Caution
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 hiçbir özel durum oluşturulur.