Tôi có một lớp học triển khai IComparable.C# - Làm thế nào để thực hiện nhiều so sánh cho một lớp học <T> IComparable?
public class MyClass : IComparable<MyClass>
{
public int CompareTo(MyClass c)
{
return this.whatever.CompareTo(c.whatever);
}
etc..
}
Sau đó tôi có thể gọi phương thức sắp xếp của một danh sách chung của lớp học của tôi
List<MyClass> c = new List<MyClass>();
//Add stuff, etc.
c.Sort();
và có trong danh sách được sắp xếp theo Comparer của tôi.
Làm cách nào để chỉ định các bộ so sánh khác để sắp xếp các bộ sưu tập theo các cách khác của MyClass để cho phép người dùng sắp xếp bộ sưu tập của tôi theo nhiều cách khác nhau?
+1 mặc dù bạn có thể viết gọn gàng hơn với biểu thức lambda :) –
Thật tuyệt vời, cảm ơn. –
Kevin, tôi đã vật lộn với điều này trong 2 ngày nay, và tôi không thể hiểu nó đang làm gì. Cách của bạn không hoạt động, nhưng phương thức tĩnh này sẽ được viết như thế nào mà không cần viết nó như là 'delegate'? – jp2code