如何排序一个可观察集合与另一个可观察集合在silverlight

本文关键字:集合 观察 另一个 silverlight 何排序 排序 一个 | 更新日期: 2023-09-27 17:50:35

我有一个名为"A"的字符串可观察集合,其中包含一些值。另一个名为"B"的字符串可观察集合,其中包含一些值。

"A"有13个值"B"有5个值。"A"包含"B"值,但顺序不同。我希望"A"中的"B"值在组合框中获得优先级。

所以我要做的是…编写一些linq查询。

如何排序一个可观察集合与另一个可观察集合在silverlight

我手边没有IDE,但是像这样的东西应该可以做到。

假设两个集合中存在相同的实例。

var sortedA = observableA.OrderBy(item=>observableB.Contains(item) ? 0 : 1);

如果它们不是相同的实例,并且你想比较一个属性,如name,你也可以这样做。

var sortedA = observableA.OrderBy(item=>observableB.Any(item2 => item2.Name == item.Name) ? 0 : 1);
var a = "1,2,3,4,5,6,7,8,9,10,11,12,13".Split(',').ToList();
var b = "7,8,9,10,11".Split(',').ToList();
var c = a.OrderByDescending(x => b.IndexOf(x));