SerialPort.Read Metod

Definition

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.

Gäller för