2009-02-11 96 views
0

我有一個IEnumerable<T>集合名稱和FullName作爲它的項目。其中大約有5000件物品。在IEnumerable中按長度排序項目<T>?

我想顯示按其長度排序的全名,所以首先顯示最長名稱到最短名稱。我怎樣才能以最優化的方式做到這一點?

回答

2

該答案與spoon16的實際效果相同,但不使用查詢表達式。我通常不會對單個操作使用查詢表達式(例如,只是的一個排序,或者只是的一個篩選器,或者只是的一個投影)。我想這將是很好看的選擇:)

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

這將有助於獲得更多關於數據結構的詳細信息。但我認爲這個LINQ查詢應該讓你開始。

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

這裏是整套LINQ Order By examples

+0

其實我收到從支持的IEnumerable 用戶一個「變種名字列表」。名稱列表包含以下格式的數據: 名稱=「喬恩」全名=「約翰·特里」 NAME =「實」全名=「實Marchiu」 等.. – Viks 2009-02-11 05:39:39