Partager via


SerialPort.Read Méthode

Définition

Lit la mémoire tampon d'entrée SerialPort.

Surcharges

Read(Byte[], Int32, Int32)

Lit un certain nombre d'octets de la mémoire tampon d'entrée SerialPort et écrit ces octets dans un tableau d'octets au décalage spécifié.

Read(Char[], Int32, Int32)

Lit un certain nombre de caractères de la mémoire tampon d'entrée SerialPort et écrit ces caractères dans un tableau de caractères à un décalage donné.

Read(Byte[], Int32, Int32)

Source:
SerialPort.cs
Source:
SerialPort.cs
Source:
SerialPort.cs

Lit un certain nombre d'octets de la mémoire tampon d'entrée SerialPort et écrit ces octets dans un tableau d'octets au décalage spécifié.

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

Paramètres

buffer
Byte[]

Tableau d'octets dans lequel l'entrée doit être écrite.

offset
Int32

Offset dans buffer où sont écrits les octets.

count
Int32

Nombre maximal d'octets à lire. Moins d'octets sont lus si count est supérieur au nombre d'octets contenus dans le tampon d'entrée.

Retours

Nombre d'octets lus.

Exceptions

La mémoire tampon passée a la valeur null.

Le port spécifié n'est pas ouvert.

Les paramètres offset ou count sont à l'extérieur d'une région valide du buffer qui est passé. offset ou count est inférieur à zéro.

offset plus count est supérieur à la longueur de buffer.

Aucun octet n'était disponible en lecture.

Remarques

S’il est nécessaire de basculer entre la lecture de texte et la lecture de données binaires à partir du flux, sélectionnez un protocole qui définit soigneusement la limite entre le texte et les données binaires, comme la lecture manuelle des octets et le décodage des données.

Étant donné que la SerialPort classe met en mémoire tampon les données et que le flux contenu dans la propriété ne le BaseStream fait pas, les deux peuvent être en conflit quant au nombre d’octets disponibles pour la lecture. La BytesToRead propriété peut indiquer qu’il existe des octets à lire, mais ces octets peuvent ne pas être accessibles au flux contenu dans la BaseStream propriété, car ils ont été mis en mémoire tampon dans la SerialPort classe .

La Read méthode ne bloque pas les autres opérations lorsque le nombre d’octets count lus est égal, mais qu’il existe toujours des octets non lus disponibles sur le port série.

S’applique à

Read(Char[], Int32, Int32)

Source:
SerialPort.cs
Source:
SerialPort.cs
Source:
SerialPort.cs

Lit un certain nombre de caractères de la mémoire tampon d'entrée SerialPort et écrit ces caractères dans un tableau de caractères à un décalage donné.

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

Paramètres

buffer
Char[]

Tableau de caractères dans lequel l'entrée doit être écrite.

offset
Int32

Offset dans buffer où sont écrits les caractères.

count
Int32

Nombre maximal de caractères à lire. Moins de caractères sont lus si count est supérieur au nombre de caractères contenus dans le tampon d'entrée.

Retours

Nombre de caractères à lire.

Exceptions

offset plus count est supérieur à la longueur de la mémoire tampon.

- ou -

count est égal à 1 et un caractère de substitution se trouve dans la mémoire tampon.

Le buffer passé a la valeur null.

Les paramètres offset ou count sont à l'extérieur d'une région valide du buffer qui est passé. offset ou count est inférieur à zéro.

Le port spécifié n'est pas ouvert.

Aucun caractère n'était disponible en lecture.

Remarques

Utilisez cette méthode pour lire des caractères à partir du port série.

S’il est nécessaire de basculer entre la lecture de texte et la lecture de données binaires à partir du flux, sélectionnez un protocole qui définit soigneusement la limite entre le texte et les données binaires, comme la lecture manuelle des octets et le décodage des données.

Étant donné que la SerialPort classe met en mémoire tampon les données et que le flux contenu dans la propriété ne le BaseStream fait pas, les deux peuvent être en conflit quant au nombre de caractères disponibles pour la lecture. La BytesToRead propriété peut indiquer qu’il existe des caractères à lire, mais ces caractères peuvent ne pas être accessibles au flux contenu dans la BaseStream propriété, car ils ont été mis en mémoire tampon dans la SerialPort classe .

La Read méthode ne bloque pas les autres opérations lorsque le nombre d’octets count lus est égal, mais qu’il existe toujours des octets non lus disponibles sur le port série.

S’applique à