如何自定义排序列表<字符串>
本文关键字:字符串 列表 排序 自定义 | 更新日期: 2023-09-27 18:32:19
假设我有一个List<string>
值为
- 橙
- 番茄
- 苹果
- 苹果
- 橙
- 香蕉
- 香蕉
我想将值重新排列为以下顺序:
- 番茄
- 苹果
- 橙
- 香蕉
最终排序顺序为:*番茄*苹果*苹果*橙*橙*香蕉*香蕉
我怎样才能做到这一点?
通常,您可以根据需要订购包含List<T>
的 IEnumerable。有几种方法。现在常见的一个是使用Linq
List<string> newList = originalList.OrderBy(e => { your code here }).ToList();
您将替换
{ 你的代码在这里 }
使用您自己的代码来提供所需的排序。
如果要从结果中删除重复项,可以使用
List<string> newList = originalList.Disinct().OrderBy(e => { your code here }).ToList();
如果出于某种原因您想按字符串的最后一个字符排序,您的 OrderBy 可能如下所示(注意:为了保持代码段简短,我不考虑字符串为 null 或 String.Empty 的可能性)。
.OrderBy(e => e[e.Length-1])