Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 преобразовать значение из string в вид 0х??  [new]
_den89
Member

Откуда:
Сообщений: 53
Добрый день,
столкнулся с проблемой, у меня есть команда, которая отправляется на устройство в Com port такого рода
fh.GetCRC(new byte[] { 0х01, 0x03, 0x00, 0x00, 0x00, 0x02 })
где GetCRC - вычисление контрольной суммы

с ней все хорошо, но возникла задача перебирать адреса, в данном случае это первый байт (0x01)
Делаю следующим образом
for (int i=1;i<=254;i++)
{
var s = "0x" + BitConverter.ToString(BitConverter.GetBytes(i)).Substring(0, 2); // получили на первой итерации 0х01, на второй 0х02 итд
.....
.....
new byte[] { Convert.Tobyte(s), 0x03, 0x00, 0x00, 0x00, 0x02 } // и здесь получаю ошибку, входная строка имела неверный формат
передача команды в Ком-порт
}

Как правильно нужно привести к нужному виду ?
28 май 18, 09:38    [21445298]     Ответить | Цитировать Сообщить модератору
 Re: преобразовать значение из string в вид 0х??  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5303
Console.WriteLine(Convert.ToByte("0xFF", 16));

255
28 май 18, 11:28    [21445743]     Ответить | Цитировать Сообщить модератору
 Re: преобразовать значение из string в вид 0х??  [new]
Siemargl
Member [заблокирован]

Откуда: 010100
Сообщений: 6330
new byte[] {byte(i), 0x03, 0x00, 0x00, 0x00, 0x02 }; // не оно ?
30 май 18, 10:11    [21452675]     Ответить | Цитировать Сообщить модератору
 Re: преобразовать значение из string в вид 0х??  [new]
Dima T
Member

Откуда:
Сообщений: 14160
Siemargl
new byte[] {byte(i), 0x03, 0x00, 0x00, 0x00, 0x02 }; // не оно ?

или
new byte[] {(byte) i, 0x03, 0x00, 0x00, 0x00, 0x02 };

ИМХО ТС запутался в вариантах представления целых чисел в коде и зачем-то начал конвертировать int -> string -> byte.
Достаточно сразу int -> byte
30 май 18, 10:19    [21452685]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить