Joh*_*ion 2 c# sorting lambda list
我有一个字符串列表,它们是记录的名称.一个例子:
Record_One
Record_Two
Records_Three
Run Code Online (Sandbox Code Playgroud)
有时,我想删除一条记录.出于录制目的,我不删除字符串.我通过在末尾添加单词_Deleted来改变它,例如:
Record_One_Deleted
Record_Two
Record_Three_Deleted
Run Code Online (Sandbox Code Playgroud)
我的问题是:
如何将所有_Deleted记录放在底部,按字母顺序保留我的字符串列表?
预期的结果看起来像(使用新的示例数据集):
B
C
D
E
A_Deleted
F_Deleted
Run Code Online (Sandbox Code Playgroud)
请注意,我的列表按字母顺序排列,但包含"_Deleted"的字符串位于底部.
我希望使用Lambda Expression,因为我已经可以使用以下内容按字母顺序排列列表:
A_List.Sort((x, y) => string.Compare(x.Name, y.Name));
Run Code Online (Sandbox Code Playgroud)
我发现一行表达式相当光滑.
任何可能拥有它们的人都非常感谢任何想法或评论!
你可以使用OrderBybool:
list.OrderBy(str => str.EndsWith("_Deleted"))
.ThenBy(str => str);
Run Code Online (Sandbox Code Playgroud)
这是一个演示:http://ideone.com/m6Zgd
| 归档时间: |
|
| 查看次数: |
6287 次 |
| 最近记录: |