c# - 在特定位置后使用 lambda 按字母顺序对列表进行排序

标签 c# list sorting lambda

给定一个包含三个必须始终位于顶部的元素的列表:

Stay@Top1
Stay@Top2
Stay@Top3
Chicken
Bull
Zebra
Elephant
Hippo

使用 lamdba 表达式,如何从“Chicken”开始按字母顺序对列表进行排序,并保持前三个元素位于顶部?

提前感谢您的任何提示!

最佳答案

取前三项,然后与排序后的余数连接。

lst.Take(3).Concat(lst.Skip(3).OrderBy(s=>s);

关于c# - 在特定位置后使用 lambda 按字母顺序对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17281650/

相关文章:

c# - 如何使用 "parallel for"而不是使用几个 "for"?

python - 列表总是被重置?

mysql - rails,分页,排序和多个表

c# - 使用 linq 从列表中获取值的总和?

C - Vsprintf 和变量参数列表

java - 如何根据最后一列的最大值对多个字符串的数组列表进行排序?

javascript - 如何配置数据表,以便它根据创建的日期对记录进行排序(描述)?

c# - 如何使用 FlowDocument 的 IDocumentPaginatorSource DocumentPaginator 将 FlowDocument 转换为 FixedDocument?

c# - 选择的组合框项目待修复

c# - Entity Framework - 数据库和模型列/类型不匹配 - 映射选项