我有一个来自 Reactive 扩展框架的 IObservable [在下面的示例中命名的行],我想为它观察到的每个对象添加索引号。
我尝试使用 Zip 函数来实现这一点:
rows.Zip(Enumerable.Range(1, int.MaxValue), (row, index) =>
new { Row = row, Index = index })
.Subscribe(a => ProcessRow(a.Row, a.Index), () => Completed());
..但不幸的是,这会引发
ArgumentOutOfRangeException:指定的参数超出了有效值的范围。参数名称:一次性用品
我对 Zip 函数的理解是错误的还是我的代码有问题?
代码的 Range 部分似乎不是问题,并且 IObservable 尚未接收任何事件。