SerialPort.Read Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.