使用List <string>和Reactive extensions </string>

时间:2011-07-09 17:39:31

标签: c# vb.net system.reactive reactive-programming

我已经开始研究Reactive扩展,我想知道如何执行以下操作(生病并保持简单):

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

  2. 将项目添加到上述列表中时,请使用该项目。

3 个答案:

答案 0 :(得分:8)

您无法使用现有的List<String>类执行此操作 - 它不提供通知,并且Reactive Extensions无法对此做任何事情。

您可能希望查看ObservableCollection<T>

答案 1 :(得分:6)

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

ReactiveCollection<int> someCollection;

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

答案 2 :(得分:1)

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