Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
191 / 29 / 8
Регистрация: 15.09.2011
Сообщений: 426
1

Преобразование массива строкового типа

20.07.2018, 16:29. Показов 1595. Ответов 5
Метки нет (Все метки)

Здравствуйте.
Появилась срочная надобность получить из этого:
C#
1
string[] message = { B, 6, 4, 9, A, 4, 7, 8, F, F, 0, 3, D, 3, 9, E, 4, 5, A, 4, C, E };
Это:
C#
1
byte[] StroutStart = { 0xB6, 0x49, 0xA4, ..., 0xCE };
Так вышло, что получаю информацию именно в таком виде.
C#
1
string[] message = { B, 6, 4, 9, A, 4, 7, 8, F, F, 0, 3, D, 3, 9, E, 4, 5, A, 4, C, E };
Перед проверкой целостности CRC нужно преобразовать в вид:
C#
1
byte[] StroutStart = { 0xB6, 0x49, 0xA4, ..., 0xCE };
Как тут быть?(
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2018, 16:29
Ответы с готовыми решениями:

Преобразование математических выражений из строкового типа
Существует ли в c.net класс решающий следующую задачу: имеется строковое представление...

Ввод и вывод одномерного массива строкового типа
Никогда не приходилось работать со строковым массивом... Вот задание: Организуйте в консольном...

Как преобразовывать элементы массива строкового типа в элементы целочисленного массива
При использовании команды Convert.Toint32(a); элементы массива должны преобразовываться из...

Преобразование массива из одного типа в другой
Дан массив из 50 строк string line Как преобразовать его к типу инт

5
553 / 530 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
20.07.2018, 16:40 2
Цитата Сообщение от hacker_007 Посмотреть сообщение
Как тут быть?
C#
1
2
string s = "B6";
byte b = byte.Parse(s, System.Globalization.NumberStyles.HexNumber);
1
891 / 547 / 271
Регистрация: 26.11.2015
Сообщений: 1,734
Записей в блоге: 2
20.07.2018, 16:41 3
Лучший ответ Сообщение было отмечено hacker_007 как решение

Решение

C#
1
2
3
4
5
6
           string[] message = { "B", "6", "4", "9", "A", "4", "7", "8", "F", "F", "0", "3", "D", "3", "9", "E", "4", "5", "A", "4", "C", "E" };
            byte[] Result = new byte[message.Length/2];
            for (int i = 0; i < message.Length; i+=2)
            {
                Result[i/2] = Convert.ToByte(String.Format("0x{0}{1}",message[i],message[i+1]), 16);
            }
1
714 / 471 / 258
Регистрация: 19.12.2014
Сообщений: 1,800
20.07.2018, 16:43 4
к примеру так:
C#
1
2
        string[] message = { "B", "6", "4", "9", "A" };
        byte[] StroutStart = message.Select(x => (byte)x[0]).ToArray();
1
323 / 302 / 173
Регистрация: 16.11.2010
Сообщений: 1,069
Записей в блоге: 9
20.07.2018, 16:44 5
Цитата Сообщение от hacker_007 Посмотреть сообщение
Как тут быть?(
набросал тут на досуге. Ничего сложного:

C#
1
2
3
4
5
byte[] bytes = new byte[message.Length/2];
for (int i=0;i<message.Length;i++){
    var b = "0x" + message[i] + message[++i]; //или через Join
    bytes[(i-1)/2] = byte.Parse(b);
}

Не по теме:


Цитата Сообщение от hacker_007 Посмотреть сообщение
string[] message = { B, 6, 4, 9, A, 4, 7, 8, F, F, 0, 3, D, 3, 9, E, 4, 5, A, 4, C, E };
Он в таком виде и записан? Строки без кавычек?

1
191 / 29 / 8
Регистрация: 15.09.2011
Сообщений: 426
20.07.2018, 22:41  [ТС] 6
На последнее сообщение. Да, там в кавычках данные) Мой косяк. А так, спасибо за советы) Помогли)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.07.2018, 22:41

Преобразование Массива типа String[] в тип Int[]
Есть код: string str; str = Console.ReadLine(); string str1 = str.Split(' '); Требуется...

Данные строкового типа
Ввести фамилию, имя и отчество как одно данное строкового типа. Определить длину строки и...

Преобразование строкового поля - увеличить запись года на единицу
Здравствуйте. Помогите выполнить следующую небольшую задачу: Есть строковое поле, например...

Передача строкового типа в метод
Здравствуйте форумчане. Подскажите плиз такое дело. Насколько я знаю, то тип стринг - ссылочный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru