Tôi đã tạo một hàm để lọc và sắp xếp nội dung của danh sách.Kết hợp nhiều LINQ Trường hợp câu lệnh
Có vẻ như hơi 'bitty', tuy nhiên LINQ không phải là điểm mạnh. Tôi tự hỏi liệu chức năng có thể được sắp xếp hợp lý hay không, từ quan điểm hiệu suất hoặc thậm chí phối cảnh kinh ngạc.
Dưới đây là các mã:
// deserialise XML để tạo ra một lớp hàng hoạt động
var agents = XmlHelper
.Deserialise<AgentConfigs>("~/Pingtree.xml")
.Agents
.Where(x => x.IsActive == true);
// Đầu tiên - nhận đại lý và sắp xếp chúng 'trực tiếp'
var direct = agents
.Where(x => x.IsDirect)
.OrderByDescending(x => x.MinPrice);
// Thứ hai - nhận các đại lý gián tiếp và yêu cầu họ
var agency = agents
.Where(x => !x.IsDirect)
.OrderBy(x => x.Priority);
// bolt 2 danh sách con với nhau, duy trì trật tự
Agents = direct.Concat(agency).ToList();
Bất kỳ suy nghĩ về cách thức này có thể được cải thiện?
Shopuld có thể truy cập http://codereview.stackexchange.com/ – HimBromBeere
Nếu giải pháp hoạt động tốt và bạn muốn cải thiện/xem xét cách nó có thể được xây dựng tốt hơn, hãy đăng lên http://stackoverflow.com/review –
Trước hết bạn lặp lại cùng một danh sách nhiều lần được đánh dấu bằng Resharper ví dụ Điều này có thể gây ra các vấn đề về hiệu suất và có thể dễ dàng tránh được bằng cách gọi '.ToList' trên các tác nhân của bạn trước khi thực hiện các truy vấn thêm. – HimBromBeere