2つのフィールドでソートする必要があるリストがあります。LINQでOrderByを使用しようとしましたが、1つのフィールドしか指定できません。最初のフィールドで並べ替えるリストを探しています。次に、最初のフィールドに重複がある場合は、2番目のフィールドで並べ替えます。
たとえば、結果を次のようにします(姓、名の順に並べ替えます)。
- アダムズ、ジョン
- スミス、ジェームズ
- スミス、ピーター
- トンプソン、フレッド
これを実現するためにSQLのような構文を使用できることを確認しましたが、OrderByメソッドを使用してそれを行う方法を探しています。
IList<Person> listOfPeople = /*The list is filled somehow.*/
IEnumerable<Person> sortedListOfPeople = listOfPeople.OrderBy(aPerson => aPerson.LastName, aPerson.FirstName); //This doesn't work.