MemoryStream.Read Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Túlterhelések
| Name | Description |
|---|---|
| Read(Span<Byte>) |
Beolvassa a bájtok sorozatát az aktuális memóriastreamből, és az olvasási bájtok számával előrelépteti a memóriafolyamon belüli pozíciót. |
| Read(Byte[], Int32, Int32) |
Beolvassa az aktuális adatfolyam bájtblokkját, és pufferbe írja az adatokat. |
Read(Span<Byte>)
- Forrás:
- MemoryStream.cs
- Forrás:
- MemoryStream.cs
- Forrás:
- MemoryStream.cs
- Forrás:
- MemoryStream.cs
- Forrás:
- MemoryStream.cs
Beolvassa a bájtok sorozatát az aktuális memóriastreamből, és az olvasási bájtok számával előrelépteti a memóriafolyamon belüli pozíciót.
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
Paraméterek
A memória egy régiója. Amikor ez a metódus visszatér, a rendszer ennek a tartománynak a tartalmát lecseréli az aktuális memóriafolyam-forrásból beolvasott bájtokra.
Válaszok
A pufferbe beolvasott bájtok teljes száma. Ez kisebb lehet, mint a pufferben lefoglalt bájtok száma, ha a sok bájt jelenleg nem érhető el, vagy nulla (0), ha elérte a memóriastream végét.
A következőre érvényes:
Read(Byte[], Int32, Int32)
- Forrás:
- MemoryStream.cs
- Forrás:
- MemoryStream.cs
- Forrás:
- MemoryStream.cs
- Forrás:
- MemoryStream.cs
- Forrás:
- MemoryStream.cs
Beolvassa az aktuális adatfolyam bájtblokkját, és pufferbe írja az adatokat.
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
Paraméterek
- buffer
- Byte[]
A metódus visszatérésekor a megadott bájttömb offset az aktuális streamből beolvasott karakterek között és ( - 1) között és (offset + count - 1) között és ( - 1) helyett jelenik meg.
- offset
- Int32
A nullaalapú bájteltolás buffer , amelynél megkezdheti az adatok tárolását az aktuális adatfolyamból.
- count
- Int32
Az elolvasandó bájtok maximális száma.
Válaszok
A pufferbe írt bájtok teljes száma. Ez kisebb lehet, mint a kért bájtok száma, ha a bájtok száma jelenleg nem érhető el, vagy nulla, ha a stream vége el van érve a bájtok olvasása előtt.
Kivételek
buffer az null.
offset vagy count negatív.
offset A puffer hosszából kivont rész kisebb, mint count.
Az aktuális streampéldány bezárult.
Példák
Ez a példakód egy nagyobb, az MemoryStream osztályhoz tartozó példa része.
// 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)
Megjegyzések
Ez a metódus felülbírálja a parancsot Read.
A offset paraméter az aktuális adatfolyamból származó adatok első bájtjának buffer eltolását adja meg. A count paraméter az aktuális adatfolyamból beolvasandó bájtok maximális számát adja meg. A visszaadott érték az olvasási bájtok tényleges száma, vagy nulla, ha a stream vége el van érve.
Ha az olvasási művelet sikeres, a stream aktuális pozíciója az olvasási bájtok számával halad előre. Kivétel esetén a streamen belüli aktuális pozíció változatlan marad.
A Read metódus csak akkor ad vissza nullát, ha eléri a stream végét. Minden más esetben Read mindig beolvassa legalább egy bájtot a streamből, mielőtt visszatér. Definíció szerint, ha a streamből nem áll rendelkezésre adat a híváskor Read, a Read metódus nullát ad vissza (a stream vége automatikusan elérhetővé válik). Az implementációk a kértnél kevesebb bájtot adnak vissza, még akkor is, ha a stream vége még nem ért el.
Primitív adattípusok olvasására használható BinaryReader .
Figyelmeztetés
Ha a buffer paraméterben megadott bájttömb a metódus által GetBuffer visszaadott mögöttes puffer, a rendszer felülírja a tömb tartalmát, és nincs kivétel.