[英]Using Rx (Reactive Extensions) to watch for specific item in ObservableCollection
[英]Sorting values of ObservableCollection (Reactive Extensions)
在我的应用程序中,我有一个包含超过400个推针的列表。 为了避免UI块,我使用以下终结点和Rx框架。
var observer = localStoreCollection.ToObservable();
observer.Subscribe(StoresOnNext, StoresOnError, StoresOnCompleted);
在OnNext上,我将把这个图钉逐个添加到我的绑定列表中。 随着地图我填充一个具有相同集合的列表。 所以我需要根据最近的位置对此列表进行排序。 所以我的问题是如何在不重新分配列表的情况下对此集合进行排序。 (类似于通过引用调用的东西)。
注意:此外,在OnNext方法内进行距离分配。
在黑暗中拍摄,因为我不知道你在问什么...
编辑...只需用NB再次阅读您的问题。 现在一般来说,我会建议高度反对使用函数式编程为数据对象赋值的概念。 相反,我会建议您创建一个包含PushPin和Distance属性的新对象,或者使用地图将距离信息存储为一种“扩展属性”。
var observer = localStoreCollection.ToObservable();
observer.Subscribe(StoresOnNext, StoresOnError, StoresOnCompleted);
var closestObservable = observer.Min(Comparer<PushPin>.Create((a, b) => Double.Comparer(Distance(a), Distance(b)));
或者甚至可能
var observer = localStoreCollection.ToObservable();
observer.Subscribe(StoresOnNext, StoresOnError, StoresOnCompleted);
var distanceMap = new ConcurrentDictionary<PushPin, double>();
var closestObservable = observer.Min(Comparer<PushPin>.Create((a, b) => Double.Comparer(distanceMap.GetOrAdd(a, Distance), distanceMap.GetOrAdd(b, Distance)));
如果Distance(PushPin)
功能很昂贵。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.