用 ReactiveUI Observable 包装 IEnumerable

Wrapping an IEnumerable with an ReactiveUI Observable

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

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

例如,给定下面的 values 变量,如何创建一个 observable 来为每个元素生成一个动作?

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

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

投影每个项目

另请注意,如果您需要 Observable 将所有项目 return 放入 IObservable<IEnumerable<T>>,您可以缓冲列表:

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