Байты считаны по одному. Как объединить их в одно целое? - 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;
}
}