c# - 如何使用 LINQ 对集合进行排序,以便首先出现特定字符串

标签 c# .net linq

<分区>

我有一个字符串值数组,{ "Jools", "Jops", "Stoo", "RJ"}

我想对它进行排序,以便 "Jops" 在列表中排在第一位,但我不关心其他值的顺序。它也可以用于多个值,因此所有实例“Jops” 应该首先出现。

是否有使用 LINQ 执行此操作的简单方法?

最佳答案

怎么样

var values = new string[] { "Jools", "Jops", "Stoo", "RJ" };
var sortedValues = values.OrderByDescending(s => s.Equals("Jops"));

简单的根据是不是你想要的值排序

编辑在下面的评论中提到一个非常有值(value)的观点,其余项目不按此机制排序。要保证它们的顺序,请使用 ThenBy() 方法。

关于c# - 如何使用 LINQ 对集合进行排序,以便首先出现特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20948020/

相关文章:

C#:在与相关类相同的 .cs 文件中取消嵌套结构?

c# - Windows Phone 8 SDK 不刷新页面的 XAML 部分

xml - 您如何在 Linq To Xml 中防范 Null Reference 异常?

c# - 表达式树作为用户定义查询引擎的基础(使用 EAV)?

c# - 如何在不编译的情况下从现有的 LambdaExpression 构建 LambdaExpression

c# - 如何在动态生成的C#代码中初始化各种类型变量?

c# - 如何在 3rd 方对象后面的 'sneak' 接口(interface)

c# - 您如何访问委托(delegate)被调用的次数?

c# - 如何在网络上制作程序 "discoverable"?

.net - 在 .NET 中交换鼠标左右键