使用List和响应式扩展

本文关键字:响应 扩展 List String 使用 | 更新日期: 2023-09-27 18:01:50

我已经开始研究响应式扩展,我想知道如何做到以下(我会尽量保持简单):

  1. 有一个字符串列表(或任何其他类型)

  2. 当一个项目被添加到上述列表中时,对它进行处理。

使用List<String>和响应式扩展

你不能在现有的List<String>类中这样做——它不提供通知,并且响应式扩展对此无能为力。

你可能想看看ObservableCollection<T>

获取ReactiveUI,然后你可以使用ReactiveCollection类-然后你可以使用ItemsAdded Observable。

ReactiveCollection<int> someCollection;
someCollection.ItemsAdded
    .Where(x => x > 100)
    .Subscribe(x => Console.WriteLine("Whoa! A big item was added!"));

如果你有一个List<T>,或者任何真正实现IEnumerable的集合,那么Rx不是答案。但如果你有一个序列的项目,其中一些还不存在,那么无论如何,Rx是一个很好的解决方案。