如何在.NET Framework 3.5上使用Stream.CopyTo?

Men*_*nan 36 c#

我找到了上传代码,这段代码包含了该Stream.CopyTo方法.

例:

  file.Stream.CopyTo(requestStream); // .NET Framework 4.0
Run Code Online (Sandbox Code Playgroud)

如何将"file.Stream"复制到"requestStream"?

Jon*_*eet 85

基本上你不能.它仅在.NET 4中实现.您可以自己编写类似的方法......甚至可以将其作为扩展方法:

// Only useful before .NET 4
public static void CopyTo(this Stream input, Stream output)
{
    byte[] buffer = new byte[16 * 1024]; // Fairly arbitrary size
    int bytesRead;

    while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0)
    {
        output.Write(buffer, 0, bytesRead);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 有那么一刻我觉得有一些我以前没见过的很棒的C#扩展方法功能! (6认同)