To make it more readable and maintainable, you can also split it up into multiple LINQ statements.
- First, select your data into a new list, let's call it x1
x1, do a projection if desired - Next, create a distinct list, from x1
x1into x2x2, using whatever distinction you require - Finally, create an ordered list, from x2
x2into x3x3, sorting by whatever you desire