Байты считаны по одному. Как объединить их в одно целое? - C#

Узнай цену своей работы

Формулировка задачи:

Хай народ.. У меня прикол в том что я в цикле читаю по одному байту, пока байт не будет определенного события... Тоесть Я прочитал 1 байт, если не подходит, идем дальше.. Вообщем нужно сделать так чтобы с этих всех байтов собрать все вместе... Что то типо byte[0]+byte[1]+.... Вот код:
                int nolasit = 0; byte[] read_buf = new byte[1];
                for (int i = 0; i <= nolasit; i++)
                {
                    _serialPort.Read(read_buf, 0, 1);
                    nolasit++;

                    if (read_buf[0] == CR)
                    {
                        data = System.Text.UTF8Encoding.UTF8.GetString(read_buf);
                        this.BeginInvoke(new SetTextDeleg(si_DataReceived), new object[] { data });
                        return;
                    }
                }
Подскажите плз..

Решение задачи: «Байты считаны по одному. Как объединить их в одно целое?»

textual
Листинг программы
int nolasit = 0;
byte[] read_buf = new byte[1];
List<byte> bytes = new List<byte>();
 
for (int i = 0; i <= nolasit; i++)
{
    _serialPort.Read(read_buf, 0, 1);
    nolasit++;
 
    if (ByteIsOk(read_buf[0])) // проверяешь что ты там хотел
    {
        bytes.Add(read_buf[0]);
    }
 
    if (read_buf[0] == CR)
    {
        data = System.Text.UTF8Encoding.UTF8.GetString(bytes.ToArray());
        this.BeginInvoke(new SetTextDeleg(si_DataReceived), new object[] { data });
        return;
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы