2

I have a list of items which I want to sort but I can't seems to get the lambda expression right. can someone leads me to the lambda expression? Thanks

unsorted list item:

number: 2, Date: 21/10/2010 11:22:55
number: 1, Date: 21/10/2010 11:22:55
number: 2, Date: 20/10/2010 12:10:00
number: 1, Date: 20/10/2010 12:10:00

sorted list item:

number: 1, Date: 21/10/2010 11:22:55
number: 1, Date: 20/10/2010 12:10:00
number: 2, Date: 21/10/2010 11:22:55
number: 2, Date: 20/10/2010 12:10:00

itemList.sort((x, y) => ...);
D.Rosado
  • 5,634
  • 3
  • 36
  • 56
user1599647
  • 487
  • 2
  • 7
  • 16

1 Answers1

4

You can use Linq's OrderBy and ThenByDescending extension methods:

using System.Linq;
...

var sortedItems = 
    itemList.OrderBy(x => x.number)
            .ThenByDescending(x => x.Date);

This will create a new object. If you want to assign it back to the original itemList, simply do this:

using System.Linq;
...

itemList = itemList.OrderBy(x => x.number)
                   .ThenByDescending(x => x.Date)
                   .ToList();
p.s.w.g
  • 146,324
  • 30
  • 291
  • 331