我有整数列表列表,我正在进行移位编码,所以我对每个流都有不同的长度代码,所以我使用每个列表的列表,因为它重新调整大小,我试图将所有流存储在一个字节数组,我失败了,我怎么能转换成字节数组...
像这样:list[10 item]
list[0] of list[5 item][0,0,1,0,3]
list[1] of list[4 item][0,0,1,1]
并将其转换为字节数组......
像这样: 阵列[字节] = [0,0,1,0,3,0,0,1,1,3,0,0,...]; 内部列表中的项目计数不同于一个项目....答案 0 :(得分: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
答案 1 :(得分: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();
最后,从一个int列表中有一个扁平的字节数组。听起来就像你想要的那样。
答案 2 :(得分:1)
如果您对LINQ感到满意,那么您可以使用.SelectMany()
“展平”列表等列表。
像:
var array = listOfLists.SelectMany(x => x).ToArray();