Байты считаны по одному. Как объединить их в одно целое? - 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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д