Udostępnij za pośrednictwem


SerialPort.Read Metoda

Definicja

Odczytuje z buforu wejściowego SerialPort .

Przeciążenia

Read(Byte[], Int32, Int32)

Odczytuje liczbę bajtów z buforu wejściowego SerialPort i zapisuje te bajty w tablicy bajtów z określonym przesunięciem.

Read(Char[], Int32, Int32)

Odczytuje liczbę znaków z buforu wejściowego SerialPort i zapisuje je w tablicy znaków na danym przesunięciu.

Read(Byte[], Int32, Int32)

Źródło:
SerialPort.cs
Źródło:
SerialPort.cs
Źródło:
SerialPort.cs

Odczytuje liczbę bajtów z buforu wejściowego SerialPort i zapisuje te bajty w tablicy bajtów z określonym przesunięciem.

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

Parametry

buffer
Byte[]

Tablica bajtów do zapisania danych wejściowych.

offset
Int32

Przesunięcie, w buffer którym mają być zapisywane bajty.

count
Int32

Maksymalna liczba bajtów do odczytania. Liczba bajtów jest odczytywana, jeśli count jest większa niż liczba bajtów w buforze wejściowym.

Zwraca

Liczba odczytanych bajtów.

Wyjątki

Przekazany bufor to null.

Podany port nie jest otwarty.

Parametry offset or count znajdują się poza prawidłowym regionem przekazywanym buffer . Wartość offset lub count jest mniejsza niż zero.

offset plus count jest większy niż długość obiektu buffer.

Do odczytu nie są dostępne żadne bajty.

Uwagi

Jeśli zachodzi potrzeba przełączenia się między czytaniem tekstu i czytanie ze strumienia danych binarnych, należy wybrać protokół, który dokładnie definiuje granicę między tekstem i danymi binarnymi, taki jak ręczne odczytywanie bajtów i dekodowanie danych.

SerialPort Ponieważ dane klasy buforują, a strumień zawarty we BaseStream właściwości nie, te dwa mogą powodować konflikt dotyczący liczby dostępnych bajtów do odczytu. Właściwość BytesToRead może wskazywać, że istnieją bajty do odczytu, ale te bajty mogą nie być dostępne dla strumienia zawartego BaseStream we właściwości, ponieważ zostały buforowane do SerialPort klasy.

Metoda Read nie blokuje innych operacji, gdy liczba bajtów odczytanych jest równa, ale w porcie seryjnym nadal są dostępne nieprzeczytane bajty count .

Dotyczy

Read(Char[], Int32, Int32)

Źródło:
SerialPort.cs
Źródło:
SerialPort.cs
Źródło:
SerialPort.cs

Odczytuje liczbę znaków z buforu wejściowego SerialPort i zapisuje je w tablicy znaków na danym przesunięciu.

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

Parametry

buffer
Char[]

Tablica znaków do zapisania danych wejściowych.

offset
Int32

Przesunięcie, w buffer którym mają być zapisywane znaki.

count
Int32

Maksymalna liczba znaków do odczytania. Liczba znaków jest odczytywana, jeśli count jest większa niż liczba znaków w buforze wejściowym.

Zwraca

Liczba znaków do odczytania.

Wyjątki

offset plus count jest większy niż długość buforu.

-lub-

count ma wartość 1 i w buforze znajduje się znak zastępczy.

Przekazany buffer element to null.

Parametry offset or count znajdują się poza prawidłowym regionem przekazywanym buffer . Wartość offset lub count jest mniejsza niż zero.

Podany port nie jest otwarty.

Nie było dostępnych znaków do odczytania.

Uwagi

Ta metoda służy do odczytywania znaków z portu szeregowego.

Jeśli zachodzi potrzeba przełączenia się między czytaniem tekstu i czytanie ze strumienia danych binarnych, należy wybrać protokół, który dokładnie definiuje granicę między tekstem i danymi binarnymi, taki jak ręczne odczytywanie bajtów i dekodowanie danych.

SerialPort Ponieważ dane klasy buforują, a strumień zawarty we BaseStream właściwości nie, te dwa mogą powodować konflikt dotyczący liczby dostępnych znaków do odczytania. Właściwość BytesToRead może wskazywać, że istnieją znaki do odczytania, ale te znaki mogą nie być dostępne dla strumienia zawartego BaseStream we właściwości, ponieważ zostały one buforowane do SerialPort klasy.

Metoda Read nie blokuje innych operacji, gdy liczba bajtów odczytanych jest równa, ale w porcie seryjnym nadal są dostępne nieprzeczytane bajty count .

Dotyczy