【发布时间】:2009-12-19 18:26:43
【问题描述】:
.NET 4 中引入的一个有用的便利是 Stream.CopyTo(Stream[, Int32]),它从当前流中读取内容并将其写入另一个流。
这消除了对稍微乏味的code such as this的需要:
public static void CopyStream(Stream input, Stream output)
{
byte[] buffer = new byte[32768];
while (true)
{
int read = input.Read (buffer, 0, buffer.Length);
if (read <= 0)
return;
output.Write (buffer, 0, read);
}
}
由于我没有在这台机器上安装 .NET 4,我想知道是否有人安装了 .NET 4 可以打开 Reflector 并向我们展示框架类库团队如何为 .NET 4 实现此方法。
将它们的实现与上面的代码 sn-p 进行比较和对比。特别是,我很想知道选择了什么默认缓冲区大小。
【问题讨论】:
-
复制在网络流上有效吗?
-
好问题。不确定...也许安装了 .NET 4 的人之一可以尝试一下?
-
它似乎可以在网络流上运行。