我已经开始研究响应式扩展,我想知道如何做到以下(我会尽量保持简单):
-
有一个字符串列表(或任何其他类型)
-
当一个项目被添加到上述列表中时,对它进行处理。
你不能在现有的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是一个很好的解决方案。