在IEnumerable <t>?</t>中按长度排序项目

时间:2009-02-11 05:28:44

标签: .net linq

我有一个IEnumerable<T>集合,其中包含Name和FullName作为项目。其中约有5000件物品。

我想显示按其长度排序的FullNames,因此首先显示最短名称的最长名称。我怎样才能以最优化的方式做到这一点?

2 个答案:

答案 0 :(得分:2)

这个答案实际上与spoon16相同,但没有使用查询表达式。我通常不会对单个操作使用查询表达式(例如只是一个排序,或只是一个过滤器,或只是一个投影)。我认为看到替代方案会很好:)

var orderedList = nameList.OrderByDescending(x => x.FullName.Length);

答案 1 :(得分:1)

有关确切了解数据结构外观的更多信息将会有所帮助。但我认为这个LINQ查询应该让你开始。

var orderedItems = from name in nameList
                   order by name.FullName.Length descending
                   select name;

这是一整套LINQ Order By examples