用可观察的ReactiveUI包装IEnumerable

时间:2018-09-20 16:04:15

标签: reactiveui

了解可观察物不是可枚举,反之亦然:

使用ReactiveUI,建议用IEnumerable<T>包装IObservable<T>的推荐方法是什么?

例如,给定下面的values变量,如何创建可观察对象,为每个元素生成一个动作?

var values = new int[] { 0, 1, 2, 3 };

1 个答案:

答案 0 :(得分:1)

values.ToObservable()将基于您的IEnumerable创建一个Observable,然后您可以在其中使用Select()投影每个项目。

还要注意,如果您需要Observable然后将所有项目返回到IObservable<IEnumerable<T>>,则可以缓冲列表:

values.
   .ToObservable()
   .Select(x => ...)
   .Buffer(values.Count)