【发布时间】:2011-10-07 23:25:52
【问题描述】:
假设我有如下代码:
(steam 是文件流)
using(BinaryWriter bw = new BinaryWriter(stream))
{
foreach(byte[] b in BreakBytes(objectOfBytes))
{
writer.Write(b);
}
}
所以要让 BreakBytes 工作,它必须执行以下操作:
public static IEnumerable<byte[]> BreakBytes(byte[] b)
{
..
while(..) {
yield return some_buffer;
}
..
}
yield 到底在做什么?它会跟踪它的位置吗?
我相信它是返回到调用 foreach 循环,但再次调用时会继续下一次迭代?
【问题讨论】:
标签: c#