C#如何将System.Net.ConnectStream转换为byte (数组)

我试图将流(System.Net.ConnectStream)转换为字节数组。 关于如何做到这一点的任何想法/例子?

 Stream sourceStream = ... // the ConnectStream byte[] array; using (var ms = new MemoryStream()) { sourceStream.CopyTo(ms); array = ms.ToArray(); } 

试试这个…

  private static readonly object _lock = new object(); public static byte[] readFullStream(Stream st) { try { Monitor.Enter(_lock); byte[] buffer = new byte[65536]; Int32 bytesRead; MemoryStream ms = new MemoryStream(); bool finished = false; while (!finished) { bytesRead = st.Read(buffer.Value, 0, buffer.Length); if (bytesRead > 0) { ms.Write(buffer.Value, 0, bytesRead); } else { finished = true; } } return ms.ToArray(); } finally { Monitor.Exit(_lock); } } 

在Freeetje的一个答案中,有一个名为’ReadToEnd’的方法。 像我一样的魅力……

如何从Microsoft.SharePoint.Client.File对象获取文件大小?