Рейтинг:
1
OriginalGriff
Нельзя и целые массивы: а есть оператор, который работает над отдельными элементами массива, так как это "+". Если вы хотите объединить два массива так, чтобы получить один больший массив со всеми элементами одного, а затем со всеми элементами другого, то сделайте это:
byte[] a1 = new byte[16] { 0x01, 0x46, 0x42, 0x44, 0x2d, 0x2d, 0x2d, 0x53, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x17};
byte[] a2 = new byte[7] { 0x01, 0x46, 0x4d, 0x42, 0x2d, 0x2d, 0x2d };
byte[] combined = a1.Concat(a2).ToArray();
Member 13711215
Извините, я пытаюсь объединить byte[] bytes = Encoding.ASCII.GetBytes(s);
и
byte[] bytesToSend = новый байт[7] { 0x01, 0x46, 0x4d, 0x42, 0x2d, 0x2d, 0x2d };
OriginalGriff
Затем вам нужно точно указать, что вы ожидаете получить в результате.
Если у вас есть два массива
byte[] a1 = новый байт[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09};
byte[] a2 = новый байт[] { 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70};
Тогда что именно вы ожидаете от "слияния" и почему? Существует огромное количество возможностей!
Member 13711215
В textbox1 находится text =00990202. Я хочу объединить байтовую строку "bytesToSend" с текстом textbox1 в одну строку и отправить эту строку через clientsocket. Bytetosend + textbox1 и отправьте эту полную строку.
OriginalGriff
Это мне ни о чем не говорит.
Я понятия не имею, откуда должна взяться строка "00990202" и как вам нужно "слить" с ней байты.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы. Так что перестаньте пытаться печатать как можно меньше, или мы будем здесь весь день! :смеяться:
Рейтинг:
1
Member 13711215
Мое решение
string s = textBox1.Text;
var bytes = Encoding.ASCII.GetBytes(s);
//načtení souboru
byte[] bytesToSend = new byte[8] { 0x01, 0x46, 0x4d, 0x42, 0x2d, 0x2d, 0x2d, 0x52 };
byte[] bytesToSend2 = new byte[1] {0x17};
var load = bytesToSend.Concat(bytes).ToArray();
var load2 = load.Concat(bytesToSend2).ToArray();
clientSocket.Send(load2);
//print souboru
System.Threading.Thread.Sleep(1000);
byte[] print = new byte[16] { 0x01, 0x46, 0x42, 0x44, 0x2d, 0x2d, 0x2d, 0x53, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x17 };
clientSocket.Send(print);
clientSocket.Close();