SerialPort.Read Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
.