-4

我有一个包含所有州名的字符串列表。我需要移动几个州(前纽约、加利福尼亚等)才能出现在列表顶部。如何使用 LINQ 做到这一点?仅供参考:该列表已按字母顺序排序。

它只是一个简单的列表,很少有重要的状态需要位于顶部。没有标准。

4

2 回答 2

7

以下是使用字母而不是状态的概念证明。

var all = new List<string>() {"a","b","c","d","e"};
var top = new List<string>() {"c","d"};

var finalList = top.Concat(all.Except(top));

这个想法是您拥有完整的状态列表 ( all) 以及您想要在顶部 ('top') 的列表。然后,您获取顶部的那些并连接您使用该Except方法创建的剩余列表。

于 2013-07-31T11:39:48.110 回答
0
List<string> importantStates = {...};//It's up to you
var list = states.OrderBy(x=>!importantStates.Contains(x));
于 2013-07-31T11:42:49.870 回答