MemoryStream.Read Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Överlagringar
| Name | Description |
|---|---|
| Read(Span<Byte>) |
Läser en sekvens med byte från den aktuella minnesströmmen och ökar positionen i minnesströmmen med antalet lästa byte. |
| Read(Byte[], Int32, Int32) |
Läser ett byteblock från den aktuella strömmen och skriver data till en buffert. |
Read(Span<Byte>)
Läser en sekvens med byte från den aktuella minnesströmmen och ökar positionen i minnesströmmen med antalet lästa byte.
public:
override int Read(Span<System::Byte> destination);
public override int Read(Span<byte> destination);
override this.Read : Span<byte> -> int
Public Overrides Function Read (destination As Span(Of Byte)) As Integer
Parametrar
En region med minne. När den här metoden returnerar ersätts innehållet i det här intervallet av byte som läse från den aktuella minnesströmkällan.
Returer
Det totala antalet byte som lästs in i bufferten. Detta kan vara mindre än antalet byte som allokerats i bufferten om många byte för närvarande inte är tillgängliga eller noll (0) om slutet av minnesströmmen har nåtts.
Gäller för
Read(Byte[], Int32, Int32)
Läser ett byteblock från den aktuella strömmen och skriver data till en buffert.
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
Parametrar
- buffer
- Byte[]
När den här metoden returnerar innehåller den angivna bytematrisen med värdena mellan offset och (offset + count - 1) ersatta av tecknen som lästs från den aktuella strömmen.
- offset
- Int32
Den nollbaserade byteförskjutningen buffer där du börjar lagra data från den aktuella strömmen.
- count
- Int32
Det maximala antalet byte som ska läsas.
Returer
Det totala antalet byte som skrivits in i bufferten. Detta kan vara mindre än antalet byte som begärs om det antalet byte inte är tillgängligt för närvarande, eller noll om strömmens slut nås innan byte läse.
Undantag
buffer är null.
offset eller count är negativ.
offset subtraheras från buffertlängden är mindre än count.
Den aktuella ströminstansen är stängd.
Exempel
Det här kodexemplet är en del av ett större exempel för MemoryStream klassen.
// 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)
Kommentarer
Den här metoden åsidosätter Read.
Parametern offset ger förskjutningen av den första byte som buffer data från den aktuella strömmen skrivs till. Parametern count ger det maximala antalet byte som ska läsas från den aktuella strömmen. Det returnerade värdet är det faktiska antalet lästa byte eller noll om strömmens slut nås.
Om läsåtgärden lyckas avancerar den aktuella positionen i dataströmmen med antalet lästa byte. Om ett undantag inträffar förblir den aktuella positionen i dataströmmen oförändrad.
Metoden Read returnerar endast noll om strömmens slut nås. I alla andra fall Read läser du alltid minst en byte från strömmen innan den returneras. Om inga data är tillgängliga från strömmen vid ett anrop till ReadRead returnerar metoden per definition noll (strömmens slut nås automatiskt). En implementering kan returnera färre byte än vad som begärts även om dataströmmens slut inte har nåtts.
Används BinaryReader för att läsa primitiva datatyper.
Caution
Om bytematrisen som anges i parametern buffer är den underliggande buffert som GetBuffer returneras av metoden skrivs matrisinnehållet över och inget undantag genereras.