2014-01-28 3 views
-1

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

так:

list[10 item] 
list[0] of list[5 item][0,0,1,0,3] 
list[1] of list[4 item][0,0,1,1] 

и преобразовать его в массив байт .. .

вот так: массив [bytes] = [0,0,1,0,3,0,0,1,1,3,0,0, .....]; кол пункта во внутреннем списке, отличный от одного элемента к другому ....

+0

У вас есть код, который компилируется? Это трудно понять. –

+0

Я нашел это решение в стеке, но вопрос не подходит для ответа var listOfArrays = new List (); var flattenedList = listOfArrays.SelectMany (bytes => bytes); var byteArray = flattenedList.ToArray(); – Layan

+0

Я хочу преобразовать список списка в массив байтов var listOfArrays = новый Список (); var flattenedList = listOfArrays.SelectMany (bytes => bytes); var byteArray = flattenedList.ToArray(); как это я думаю – Layan

ответ

2

Я думаю SelectMany является то, что вы ищете:

List<List<int>> foo = new List<List<int>> { new List<int> { 1, 2, 3 }, new List<int> { 1, 2 } }; 
var flat = foo.SelectMany(x => x).ToList(); 

Квартира сейчас: 1, 2, 3 , 1, 2

+0

большое спасибо Я попробую это решение – Layan

1

SelectMany дает вам то, что вам нужно:

var list = new List<List<int>>(); 
list.Add(new List<int>() {1, 2, 3}); 
list.Add(new List<int>() {4, 5, 6}); 
list.Add(new List<int>() {7, 8, 9}); 
var combined = list.SelectMany(x => x).Select(x=>(byte)x).ToArray(); 

в конце концов, у вас есть двумерный массив байтов из списка списка Интс. Похоже, именно то, что вы собираетесь делать.

+0

thank u Я попробую ... – Layan

1

Если вы довольны LINQ, то вы можете «сгладить» списки списков и т.п., используя .SelectMany().

Как:

var array = listOfLists.SelectMany(x => x).ToArray(); 
+0

большое спасибо Я попробую это решение – Layan

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