tôi có một danh sách của các tầng lớp trong bộ sưu tập của tôi nhưLàm thế nào để sắp xếp một bộ sưu tập danh sách các lớp với các thuộc tính trong chúng?
List<MyClass> test = new List<MyClass>();
Trong lớp học của tôi, tôi chỉ có một số đặc tính
public string id {get; set;}
public DateTime date {get; set;}
Bây giờ tôi làm cho các lớp này bằng cách nhận một số truy vấn từ 2 bảng cơ sở dữ liệu khác nhau. Sau đó tôi lấy 2 kết quả đó từ các bảng cơ sở dữ liệu và sử dụng vòng lặp foreach tôi tạo một đối tượng MyClass mới và dán nó vào bộ sưu tập "test" của tôi.
Bây giờ, một khi tất cả các lớp này được đưa vào bộ sưu tập danh sách. Tôi muốn sắp xếp chúng và sắp xếp các lớp theo thuộc tính "date".
Tôi làm cách nào để thực hiện việc này? Tôi không thể đặt hàng ngay khi tôi lấy chúng từ cơ sở dữ liệu vì tôi lấy chúng từ 2 bảng cơ sở dữ liệu khác nhau và đặt chúng riêng biệt sẽ chỉ làm cho nó được đặt hàng cho mỗi phần nhưng bảng có thể có 12/12/2009 và có thể bảng hai. Vì vậy, họ cần phải được đặt hàng cùng nhau.
Tôi có thể sử dụng LINQ hoặc thứ gì đó để đặt hàng?
Cảm ơn
Ya như tôi đã đề cập dưới đây tôi đã cố gắng làm theo cách thứ hai trước khi tôi đăng nhưng không sử dụng. ToList() Vì vậy, orderBy luôn tạo một danh sách mới trong khi sắp xếp không? – chobo2
Có. List.Sort sắp xếp danh sách tại chỗ, vì vậy danh sách gốc bị thay đổi. LINQ (phương pháp thứ hai) tạo ra một enumerable mới. Bằng cách thêm "ToList", bạn chuyển nó thành Danh sách thay vì IEnumerable . Nếu bạn chỉ sử dụng kết quả trong vòng lặp foreach, bạn có thể để phương thức "ToList()" tắt. –
(những gì ông nói ...) –