将List <byte []>转换为一个byte []数组

use*_*173 6 .net c#

如何List<byte[]>在一个byte[]数组或一个数组中进行转换Stream

Pet*_*old 43

SelectMany 应该做的伎俩:

var listOfArrays = new List<byte[]>();

byte[] array = listOfArrays
                .SelectMany(a => a)
                .ToArray();
Run Code Online (Sandbox Code Playgroud)

  • +1 是唯一一个注意到 OP 有 List&lt;byte[]&gt; 而不是 List&lt;byte&gt; (3认同)

Dyl*_*tie 7

var myList = new List<byte>();
var myArray = myList.ToArray();
Run Code Online (Sandbox Code Playgroud)

编辑:好的,事实证明问题实际上是List<byte[]>- 在这种情况下,您需要使用SelectMany将序列序列展平为单个序列.

var listOfArrays = new List<byte[]>();
var flattenedList = listOfArrays.SelectMany(bytes => bytes);
var byteArray = flattenedList.ToArray();
Run Code Online (Sandbox Code Playgroud)

文档来自http://msdn.microsoft.com/en-us/library/system.linq.enumerable.selectmany.aspx