Tôi rất thích âm thanh của ElementAtOrDefaultOperator này để sử dụng với danh sách chung, nhưng tôi không biết cách xác định loại mặc định cho danh sách đối tượng của mình. Từ những gì tôi hiểu, defaultvalue sẽ là null nếu tôi có một danh sách các đối tượng như dưới đây, nhưng tôi muốn trả về phiên bản của riêng tôi về một đối tượng mặc định với các giá trị thích hợp. Dưới đây là những gì tôi có nghĩa là:LINQ Cách xác định kiểu mặc định để sử dụng với Toán tử ElementAtOrDefault
ClassA {
string fieldA;
string fieldB;
ClassB fieldC;
//constructor
}
List<ClassA> myObjects = new List<ClassA>();
myObjects.Add(//new object)
myObjects.Add(//new object)
Vì vậy, tôi muốn để có thể làm như sau:
ClassA newObject = myObjects.ElementAtOrDefault(3);
Và có newObject là một loại mặc định của ClassA mà tôi xác định nơi nào đó. Tôi nghĩ rằng có thể có một SetDefaultElement hoặc một số phương pháp khác nhưng tôi không nghĩ rằng nó tồn tại.
Mọi suy nghĩ?
Một quá tải thích hợp có thể trở lại mặc định (T) như trong việc thực hiện LINQ. – user7116
@sixlettervariables - nhưng điều đó đã tồn tại trong toán tử LINQ không quá tải, tiêu chuẩn ... –
Thực sự tự hỏi tại sao nó không phải là một phần của khung công tác. Đó là tầm thường nhưng tôi không muốn thêm các lớp mở rộng cho các dự án thừa kế chỉ vì sự quá tải này. –