tôi muốn làm một cái gì đó như thế này:Tôi có thể sử dụng toán tử kết hợp trên các số nguyên trong chuỗi CompareTo không?
public override int CompareTo (Foo rhs)
{
return Bar.CompareTo(rhs.Bar) ??
Baz.CompareTo(rhs.Baz) ??
Fuz.CompareTo(rhs.Fuz) ?? 0;
}
này không hoạt động như bằng văn bản; có một số giải pháp tối thiểu để làm cho nó hoạt động không? Về cơ bản tôi muốn 0 chuỗi cho đến khi không khác (hoặc kết thúc chuỗi).
Tôi không biết câu trả lời cho câu hỏi của bạn, nhưng nếu ba giá trị có thể được sử dụng để xác định giá trị trả về, bạn có thể muốn xem xét việc thiết kế lại lớp học của bạn. –
@DJ 'CompareTo' liên quan đến phân loại; đó là khá phổ biến, thực sự - ví dụ, sắp xếp theo họ - nếu đó là như nhau, sau đó sắp xếp theo FirstName, sau đó nếu vẫn bằng nhau, sắp xếp theo một số định danh duy nhất (ví dụ như id cơ sở dữ liệu). –
@Marc Thú vị, tôi chưa từng tiếp xúc với điều này trước đây. Tôi thấy rằng CompareTo là một phần của lớp IComparable. Tôi sẽ phải đọc nhiều hơn để có được một số quan điểm. Cảm ơn –