2009-10-28 85 views

回答

390

正如布蘭農說,這是OrderByDescendingThenByDescending

var query = from person in people 
      orderby person.Name descending, person.Age descending 
      select person.Name; 

等同於:

var query = people.OrderByDescending(person => person.Name) 
        .ThenByDescending(person => person.Age) 
        .Select(person => person.Name); 
+6

「order by person.Name descending」應該是「* orderby * person.Name descending」 – mxmissile 2011-07-19 18:59:56

+0

@mxmissile:謝謝,修正。 – 2011-07-19 19:02:02

59

使用System.Linq.Enumerable.OrderByDescending()

例如:

var items = someEnumerable.OrderByDescending(); 
18

試試這個:

List<int> list = new List<int>(); 
list.Add(1); 
list.Add(5); 
list.Add(4); 
list.Add(3); 
list.Add(2); 

foreach (var item in list.OrderByDescending(x => x)) 
{ 
    Console.WriteLine(item);     
} 
12

試試這個法子:

var qry = Employees 
      .OrderByDescending (s => s.EmpFName) 
      .ThenBy (s => s.Address) 
      .Select (s => s.EmpCode); 

Queryable.ThenBy

-1

LastOrDefault()通常不工作,但與Tolist()它會奏效。不需要使用OrderByDescending使用Tolis()這樣。

GroupBy(p => p.Nws_ID).ToList().LastOrDefault(); 
+0

這不能正確回答問題... – Gaspa79 2018-01-31 19:36:09

0

這僅在你有一個數字字段下工作,但你可以把一個減號在字段名的前面,像這樣:

reportingNameGroups = reportingNameGroups.OrderBy(x=> - x.GroupNodeId); 

但是這個工程不是一點點不同OrderByDescending當您在int?double?decimal?字段上運行它時。

會發生什麼是OrderByDescending空值將在最後,與此方法相比,空值將在開始。如果您想要將數據分割成幾部分並在稍後將其拼接起來,那麼這很有用。