在我的应用程序中,我有一个包含超过400个推针的列表.为了避免UI块,我使用以下终结点和Rx框架.
var observer = localStoreCollection.ToObservable(); observer.Subscribe(StoresOnNext,StoresOnError,StoresOnCompleted);
在OnNext上,我将把这个图钉逐个添加到我的绑定列表中.随着地图我填充一个具有相同集合的列表.所以我需要根据最近的位置对此列表进行排序.所以我的问题是如何在不重新分配列表的情况下对此集合进行排序. (类似于通过引用调用的东西).
注意:此外,在OnNext方法内进行距离分配.
解决方法
在黑暗中拍摄,因为我不知道你在问什么…
编辑…只需用NB再次阅读您的问题.现在一般来说,我会建议高度反对使用函数式编程为数据对象赋值的概念.相反,我会建议您创建一个包含pushpin和distance属性的新对象,或者使用地图将距离信息存储为一种“扩展属性”.
var observer = localStoreCollection.ToObservable(); observer.Subscribe(StoresOnNext,StoresOnCompleted); var closestObservable = observer.Min(Comparer<pushpin>.Create((a,b) => Double.Comparer(distance(a),distance(b)));
或者甚至可能
var observer = localStoreCollection.ToObservable(); observer.Subscribe(StoresOnNext,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)));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。