2015-06-16 2 views
-6

У меня есть C# appliaction, в котором я использовал массив байтов на нем. Если я попытаюсь получить длину массива, я получил его как шестнадцатеричное десятичное значение, например «0x0A». Я много преобразования, чтобы преобразовать его в десятичном формате, но им не в состоянии преобразовать в десятичную format.Pls относится мой код ниже и направлять меня,Как преобразовать значение шестнадцатеричного байта в десятичное число в C#

byte a[] = {0x0A , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x09 , 0x01}; 
byte b=a.Length; //now i get b length as 0x0A 

я попытался преобразовать с помощью целочисленных значений также, но это не работает

+6

Почему вы используете 'byte b = a.Length'? Почему вы не использовали 'int b' или' var b'? –

+2

Вы говорите, что Visual Studio показывает длину как 0x0A, когда вы навеки над 'a.Length' в редакторе? –

+2

Ваш код даже не компилируется. Я изменил его на байт [] a = {0x0A, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x09, 0x01}; int b = a.Length; и он возвращает b = 10, как ожидалось. – LInsoDeTeh

ответ

4

В отладчике Visual Studio есть опция для отображения всех интегральных значений - в том числе byte - в шестнадцатеричном формате.

Щелкните правой кнопкой мыши в одном из окон дисплея отладчика (например, на локальных или сторожевых) и отмените выбор шестнадцатеричного дисплея в меню содержимого.

Смежные вопросы