【问题标题】:Reorder a List of string using LINQ [closed]使用 LINQ 重新排序字符串列表 [关闭]
【发布时间】:2013-07-31 21:39:42
【问题描述】:

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

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

【问题讨论】:

  • 这都是服务器端的吗?为什么是“jquery”标签?请编辑您的问题并添加您现有的代码。
  • 名列榜首的标准是什么?还是只有少数应该以他们的名字排在首位?
  • 为什么“使用 LINQ”,“少数状态”是如何提供的等等。
  • 这可能会有所帮助:stackoverflow.com/questions/1668451/…
  • 它只是一个简单的 List 并且很少有重要的状态需要在顶部。没有标准。

标签: c# linq


【解决方案1】:

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

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 方法创建的其余列表。

【讨论】:

  • 非常感谢它的工作
【解决方案2】:
List<string> importantStates = {...};//It's up to you
var list = states.OrderBy(x=>!importantStates.Contains(x));

【讨论】:

    猜你喜欢
    • 2021-03-17
    • 2017-07-15
    • 2020-01-29
    • 1970-01-01
    • 2013-03-11
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    相关资源
    最近更新 更多