SerialPort.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.
Läser från indatabufferten SerialPort .
Överlagringar
| Name | Description |
|---|---|
| Read(Byte[], Int32, Int32) |
Läser ett antal byte från indatabufferten SerialPort och skriver dessa byte till en bytematris vid den angivna förskjutningen. |
| Read(Char[], Int32, Int32) |
Läser ett antal tecken från indatabufferten SerialPort och skriver dem till en matris med tecken vid en given förskjutning. |
Read(Byte[], Int32, Int32)
- Källa:
- SerialPort.cs
- Källa:
- SerialPort.cs
- Källa:
- SerialPort.cs
- Källa:
- SerialPort.cs
Läser ett antal byte från indatabufferten SerialPort och skriver dessa byte till en bytematris vid den angivna förskjutningen.
public:
int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public int Read(byte[] buffer, int offset, int count);
member this.Read : byte[] * int * int -> int
Public Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer
Parametrar
- buffer
- Byte[]
Byte-matrisen som indata ska skrivas till.
- offset
- Int32
Förskjutningen buffer där byte ska skrivas.
- count
- Int32
Det maximala antalet byte som ska läsas. Färre byte läss om count är större än antalet byte i indatabufferten.
Returer
Antal lästa byte.
Undantag
Bufferten som skickas är null.
Den angivna porten är inte öppen.
Parametrarna offset eller count ligger utanför en giltig region för den buffer som skickas. Antingen offset eller count är mindre än noll.
offset plus count är större än längden på buffer.
Det fanns inga byte att läsa.
Kommentarer
Om det är nödvändigt att växla mellan att läsa text och läsa binära data från strömmen väljer du ett protokoll som noggrant definierar gränsen mellan text och binära data, till exempel att manuellt läsa byte och avkoda data.
SerialPort Eftersom klassen buffrar data och strömmen i BaseStream egenskapen inte gör det, kan de två vara i konflikt med hur många byte som är tillgängliga att läsa. Egenskapen BytesToRead kan indikera att det finns byte att läsa, men dessa byte kanske inte är tillgängliga för strömmen i BaseStream egenskapen eftersom de har buffrats till SerialPort klassen.
Metoden Read blockerar inte andra åtgärder när antalet byte som läss count är lika med, men det fortfarande finns olästa byte tillgängliga på serieporten.
Gäller för
Read(Char[], Int32, Int32)
- Källa:
- SerialPort.cs
- Källa:
- SerialPort.cs
- Källa:
- SerialPort.cs
- Källa:
- SerialPort.cs
Läser ett antal tecken från indatabufferten SerialPort och skriver dem till en matris med tecken vid en given förskjutning.
public:
int Read(cli::array <char> ^ buffer, int offset, int count);
public int Read(char[] buffer, int offset, int count);
member this.Read : char[] * int * int -> int
Public Function Read (buffer As Char(), offset As Integer, count As Integer) As Integer
Parametrar
- buffer
- Char[]
Teckenmatrisen som indata ska skrivas till.
- offset
- Int32
Förskjutningen buffer där tecknen ska skrivas.
- count
- Int32
Det maximala antalet tecken som ska läsas. Färre tecken läss om count är större än antalet tecken i indatabufferten.
Returer
Antal tecken som lästs.
Undantag
offset plus count är större än buffertens längd.
-eller-
count är 1 och det finns ett surrogattecken i bufferten.
Den buffer skickade är null.
Parametrarna offset eller count ligger utanför en giltig region för den buffer som skickas. Antingen offset eller count är mindre än noll.
Den angivna porten är inte öppen.
Det fanns inga tecken att läsa.
Kommentarer
Använd den här metoden för att läsa tecken från serieporten.
Om det är nödvändigt att växla mellan att läsa text och läsa binära data från strömmen väljer du ett protokoll som noggrant definierar gränsen mellan text och binära data, till exempel att manuellt läsa byte och avkoda data.
SerialPort Eftersom klassen buffrar data och strömmen i egenskapen inte gör det, kan de två vara i BaseStream konflikt med hur många tecken som är tillgängliga att läsa. Egenskapen BytesToRead kan indikera att det finns tecken att läsa, men dessa tecken kanske inte är tillgängliga för strömmen i BaseStream egenskapen eftersom de har buffrats till SerialPort klassen.
Metoden Read blockerar inte andra åtgärder när antalet byte som läss count är lika med, men det fortfarande finns olästa byte tillgängliga på serieporten.