Всем привет! Опишу суть проблемы есть массив string в который записаны адреса байтов по типу:
string [] MyString = new string[8];
MyString [0]="0b00000000";
MyString [1]="0b00111100";
MyString [2]="0b01100110";
........
и тд.
Надо данные значения записать в массив байт (так как требуется сделать операцию сдвига влево над этими значениями) то есть :
byte [] MyByte = new byte [8];
MyByte [0]=0b00000000;
MyByte [1]=0b00111100;
MyByte [2]=0b01100110;
Уважаемые форумчане прошу помочь новичку!
Например так:
string[] MyStrings = new string[3];
MyStrings[0]="0b00001000";
MyStrings[1]="0b00010000";
MyStrings[2]="0b00100000";
var bytes = MyStrings.Select(s => Convert.ToByte(s.Substring(2, 8), 2)).ToArray();
и обратно в строки
var newStrings = bytes.Select(b => $"0b{Convert.ToString(b, 2).PadLeft(8, '0')}").ToArray();
Но если вы избавитесь от префикса 0b в исходных строках будет немного проще:
string[] MyStrings = new string[3];
MyStrings[0]="00001000";
MyStrings[1]="00010000";
MyStrings[2]="00100000";
var bytes = MyStrings.Select(s => Convert.ToByte(s, 2)).ToArray();
var newStrings = bytes.Select(b => Convert.ToString(b, 2).PadLeft(8, '0')).ToArray();
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости