2016-10-25 3 views
2

Я использую C#.Преобразование из строкового массива в байтовый массив

У меня есть массив строк в качестве следующим образом: "1,2,3,4,5,..." Я пытаюсь преобразовать массив строк в массив байт, как следовать []{1,2,3,4,5,...} Что это лучший способ сделать это?

Спасибо.

+0

См: http://stackoverflow.com/questions/1763613/convert-comma-separated-string-of-ints-to-int-array – PaulF

+0

Ваш ответ лежит в предыдущий вопрос: HTTP: // stackoverflow.com/questions/10531148/convert-string-to-byte-array –

ответ

7

Попробуйте использовать Linq:

string source = "1,2,3,4,5"; 

byte[] result = source 
    .Split(',') 
    .Select(item => byte.Parse(item)) 
    .ToArray(); 
4
byte[] byteArray = str.Select(s => Convert.ToByte(s, 16)).ToArray(); 

Str представляют собой строку []. Если у вас есть строка, вы должны string [] str = string.Split (',');

+0

Это не компилируется, потому что аргумент _base_ применим только тогда, когда первым аргументом является строка. В вашем коде 's' есть тип' char'. Я получаю следующую ошибку: Аргумент 2: невозможно преобразовать из 'int' в 'System.IFormatProvider' Кроме того, это будет включать запятые в качестве аргументов. –

+0

@ChrisDunaway Str - это строковый массив, который задает строковый массив в байтовый массив. – mybirthname

+0

Я перечитываю вопрос, и хотя OP использовал слова «строковый массив», я считаю, что на самом деле у них на самом деле была строка 'string', а не настоящая' string [] '. Утвержденный ответ, похоже, подтверждает это предположение. Я согласен с тем, что ваш ответ действительно, учитывая, что 'str' действительно является' string [] '. –

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