在某个位置之后使用lambda按字母顺序对列表进行排序

Joh*_*ion 1 c# sorting lambda list

给定一个包含三个元素的列表必须始终保持在顶部:

Stay@Top1
Stay@Top2
Stay@Top3
Chicken
Bull
Zebra
Elephant
Hippo
Run Code Online (Sandbox Code Playgroud)

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

提前感谢任何提示!

Tor*_*mod 6

取三个第一项,然后与排序的剩余部分连接.

lst.Take(3).Concat(lst.Skip(3).OrderBy(s=>s);
Run Code Online (Sandbox Code Playgroud)