Ilist <stream>到Byte [] c#

时间:2018-02-01 02:59:58

标签: c#

我如何转换Ilist&lt;流&gt;进入Byte []?我尝试了下面的代码,但我得到了空值。

  byte[] buffer = new byte[16*1024];
         using (MemoryStream ms = new MemoryStream())
         {
             int read;
             while ((read = m_streams[0].Read(buffer, 0, buffer.Length)) > 0)
             {
                 ms.Write(buffer, 0, read);
             }
             return ms.ToArray();
         }

1 个答案:

答案 0 :(得分:4)

使用LINQ和SelectMany非常简单,它将为您连接字节数组。

完成后,请务必处理您的溪流。

//using System.Linq;

byte[] results = m_streams.SelectMany(s =>
{
    var buffer = new byte[s.Length];
    s.Read(buffer, 0, (int)s.Length);
    return buffer;
}).ToArray();