2

二次ソートを使用して C# でリストをソートする方法。たとえば、FirstName と LastName の 2 つのフィールドを持つ Student というクラスがあるとします。これまで、次のようにリストを並べ替えました。

MyStudents.Sort((s1, s2) => s1.LastName.CompareTo(s2.LastName));

リストを最初に姓で、次に名でソートする方法を知りたいと思っていました。ありがとう。

4

3 に答える 3

8

Sortその能力はありません。

Linq はこれを簡単に行うことができます:

MyStudents.OrderBy(s => s.LastName).ThenBy(s => s.FirstName)

少なくとも .NET 3.5 を使用していて、System.Linq名前空間が参照されていることを確認してください。

于 2012-12-25T13:52:47.000 に答える
3

LINQを使用できます:

MyStudents.OrderBy(e => e.LastName).ThenBy(e => e.FirstName);
于 2012-12-25T13:53:06.623 に答える
2

OrderByThenByを使用できます

var sortedList = MyStudents.OrderBy(s => s.LastName).ThenBy(s=> s.FirstName);

OrderByandはリストThenByの順序を変更せず、 を返すことに注意してください。したがって、必要な場合は を使用してください。MyStudentsIEnumerable<Student>List<Student>ToList()

于 2012-12-25T13:54:25.983 に答える