|
|
1
5
PushLINQ "; 它不是克隆迭代器,而是允许多个“东西”进行复制 消费 同时 . 在本例中(摘自Jon的页面),我们并行计算多个聚合:
|
|
|
2
3
给定一个iEnumerable,可能会生成两个或多个iEnumerable,每个iEnumerable的行为都类似于其原始版本或克隆版本。对于“最远的”一个的MoveNext请求将从原始iEnumerable读取新数据,并为其他iEnumerable缓冲。但是,除非最初的iEnumerable支持这样的“钩子”功能,否则我认为没有任何方法可以在数据进入时锁定它。 |
|
|
3
2
能够 做这样的事……;)
|
|
|
4
1
如果是后者,下面的方法可能会起作用:
现在您可以执行以下操作:
|
|
|
5
1
杰金鲍尔的方法很有趣。我试着把它带到下一个层次。这将使用反射创建新实例,然后在新实例上设置值。我还发现C#Depth中的这一章非常有用。 Iterator block implementation details: auto-generated state machines
|
|
|
6
0
那你呢 真正地 我希望以后能够恢复迭代,对吗?克隆枚举器或集合是你认为你会怎么做的?
这将为每个“正在运行”的枚举数创建一个额外的IEnumerable副本,但我认为它可以满足您的需要。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |