SerialPort.Read Yöntem

Tanım

Giriş arabelleğinden SerialPort okur.

Aşırı Yüklemeler

Read(Byte[], Int32, Int32)

Giriş arabelleğinden SerialPort bir dizi bayt okur ve bu baytları belirtilen uzaklıkta bir bayt dizisine yazar.

Read(Char[], Int32, Int32)

Giriş arabelleğinden SerialPort bir dizi karakteri okur ve bunları belirli bir uzaklıkta bir karakter dizisine yazar.

Read(Byte[], Int32, Int32)

Kaynak:
SerialPort.cs
Kaynak:
SerialPort.cs
Kaynak:
SerialPort.cs

Giriş arabelleğinden SerialPort bir dizi bayt okur ve bu baytları belirtilen uzaklıkta bir bayt dizisine yazar.

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

Parametreler

buffer
Byte[]

Girişin yaz olduğu bayt dizisi.

offset
Int32

Baytların yazıldığı uzaklık buffer .

count
Int32

Okunacak bayt sayısı üst sınırı. Giriş arabelleğindeki bayt sayısından büyükse count daha az bayt okunur.

Döndürülenler

Okunan bayt sayısı.

Özel durumlar

Geçirilen arabellek şeklindedir null.

Belirtilen bağlantı noktası açık değil.

offset veya count parametreleri geçirilmekte olan geçerli bir bölgenin buffer dışında. Veya offsetcount sıfırdan küçük.

offset artı count , uzunluğundan bufferbüyüktür.

Okunabilecek bayt yok.

Açıklamalar

Metin okuma ile akıştan ikili verileri okuma arasında geçiş yapmak gerekiyorsa, metin ve ikili veriler arasındaki sınırı el ile okuma ve verilerin kodunu çözme gibi dikkatle tanımlayan bir protokol seçin.

SerialPort Sınıf verileri arabelleğe aldığı ve özelliğinde BaseStream yer alan akışta yer almadığından, ikisi okunabilecek bayt sayısıyla ilgili çakışabilir. BytesToRead özelliği, okunacak baytlar olduğunu gösterebilir, ancak sınıfına arabelleğe SerialPort alındıklarına göre bu baytlara özelliğinde BaseStream yer alan akış erişemeyebilir.

yöntemi, Read okunan bayt sayısı eşit count olduğunda ancak seri bağlantı noktasında hala okunmamış baytlar olduğunda diğer işlemleri engellemez.

Şunlara uygulanır

Read(Char[], Int32, Int32)

Kaynak:
SerialPort.cs
Kaynak:
SerialPort.cs
Kaynak:
SerialPort.cs

Giriş arabelleğinden SerialPort bir dizi karakteri okur ve bunları belirli bir uzaklıkta bir karakter dizisine yazar.

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

Parametreler

buffer
Char[]

Girişin yaz olduğu karakter dizisi.

offset
Int32

Karakterlerin yazıldığı uzaklık buffer .

count
Int32

Okunacak karakter sayısı üst sınırı. Giriş arabelleğindeki karakter sayısından büyükse count daha az karakter okunur.

Döndürülenler

Okunan karakter sayısı.

Özel durumlar

offset artı count , arabelleğin uzunluğundan büyüktür.

-veya-

count 1'dir ve arabellekte bir vekil karakter vardır.

Geçirilen buffer ise şeklindedir null.

offset veya count parametreleri geçirilmekte olan geçerli bir bölgenin buffer dışında. Veya offsetcount sıfırdan küçük.

Belirtilen bağlantı noktası açık değil.

Okunabilecek karakter yok.

Açıklamalar

Seri bağlantı noktasından karakterleri okumak için bu yöntemi kullanın.

Metin okuma ile akıştan ikili verileri okuma arasında geçiş yapmak gerekiyorsa, metin ve ikili veriler arasındaki sınırı el ile okuma ve verilerin kodunu çözme gibi dikkatle tanımlayan bir protokol seçin.

SerialPort Sınıfı verileri arabelleğe aldığı ve özelliğinde BaseStream yer alan akışta bulunmadığından, bu ikisi kaç karakterin okunabileceği konusunda çakışabilir. BytesToRead özelliği, okunacak karakterler olduğunu gösterebilir, ancak bu karakterler sınıfına arabelleğe alındıkları için özelliğinde BaseStream bulunan akış için SerialPort erişilebilir olmayabilir.

yöntemi, Read okunan bayt sayısı eşit count olduğunda ancak seri bağlantı noktasında hala okunmamış baytlar olduğunda diğer işlemleri engellemez.

Şunlara uygulanır