使用LINQ重新排序字符串列表

时间:2013-07-31 11:29:21

标签: c# linq

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

它只是一个简单的列表,几个重要的状态需要在顶部。没有标准。

2 个答案:

答案 0 :(得分: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)以及您想要的顶部列表(&#39;顶部&#39;)。然后取出顶部的那些并使用Except方法连接您创建的其余列表。

答案 1 :(得分:0)

List<string> importantStates = {...};//It's up to you
var list = states.OrderBy(x=>!importantStates.Contains(x));