title: How to read byte array from serial port in C#
body: <p>I have a problem with C# serial port programming<br>
  my aim send ByteArray to serial port and than get as ByteArray.
  but I can not get from serial port. I tried:</p>
  
  <pre><code>string gelen = port.ReadExisting();
     int asd = port.ReadByte();
     string qwe = port.ReadLine();
  </code></pre>
  
  <p>Could any one tell me what’s wrong?
   Thanks</p>
  
  <p>my code:</p>
  
  <pre><code>    using System;
      using System.Collections.Generic;
      using System.ComponentModel;
      using System.Data;
      using System.Drawing;
      using System.Linq;
      using System.Text;
      using System.Windows.Forms;
      using System.IO.Ports;
  
      namespace serial_port_app
      {
  
          public partial class Form1 : Form
          {
  
              public Form1()
              {       
                  InitializeComponent();
  
              }
  
              private void button1_Click(object sender, EventArgs e)
              {
  
                  int text1, text2,text3,text4,text5, text6;
  
                  Int32.TryParse(textBox1.Text, out text1);
                  byte byteValue1 = Convert.ToByte(text1);
  
                  Int32.TryParse(textBox2.Text, out text2);
                  byte byteValue2 = Convert.ToByte(text2);
  
                  Int32.TryParse(textBox3.Text, out text3);
                  byte byteValue3 = Convert.ToByte(text3);
  
                  Int32.TryParse(textBox4.Text, out text4);
                  byte byteValue4 = Convert.ToByte(text4);
  
                  Int32.TryParse(textBox5.Text, out text5);
                  byte byteValue5 = Convert.ToByte(text5);
  
                  Int32.TryParse(textBox6.Text, out text6);
                  byte byteValue6 = Convert.ToByte(text6);
  
  
                  byte[] byteArray = new byte[6];
  
                  byteArray[0]=byteValue1;
                  byteArray[1]=byteValue2;
                  byteArray[2]=byteValue3;
                  byteArray[3]=byteValue4;
                  byteArray[4]=byteValue5;
                  byteArray[5]=byteValue6;
  
  
                  SerialPort port = new SerialPort("COM1", 9600, Parity.None, 8,      StopBits.One);
  
                  port.Open();
                  port.Write(byteArray,0,6);
  
  &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;   string text = port.ReadExisting();
  &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;   int asd = port.ReadByte();
  &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;   string qwe = port.ReadLine();
  
                  int n=dataGridView1.Rows.Add();
  
                      dataGridView1.Rows[n].Cells[1].Value = text;
                      dataGridView1.Rows[n].Cells[2].Value = asd;
                      dataGridView1.Rows[n].Cells[3].Value = qwe;
                      dataGridView1.Rows[n].Cells[4].Value = text4;
                      dataGridView1.Rows[n].Cells[5].Value = text5;
                      dataGridView1.Rows[n].Cells[6].Value = text6;
  
  
  
                      if ((n % 2) == 0)
                          dataGridView1.Rows[n].DefaultCellStyle.BackColor = Color.LightBlue;
                      else
                          dataGridView1.Rows[n].DefaultCellStyle.BackColor = Color.LightGreen;
  
                      port.Close();
              }
  </code></pre>
  
  <p><strong><em>EDIT for correct answer:</em></strong></p>
  
  <p><strong>delete:</strong></p>
  
  <pre><code>string text = port.ReadExisting();
  int asd = port.ReadByte();
  string qwe = port.ReadLine();
  </code></pre>
  
  <p><strong>and add:</strong></p>
  
  <pre><code>port.DtrEnable = true;
   port.RtsEnable = true;
  
   int bytes = port.BytesToRead;
   byte[] buffer = new byte[bytes];
   port.Read(buffer, 0, bytes);
  </code></pre>