2011-01-31 32 views
10

Nếu tôi có số SortedList<int, MyClass> và tôi muốn trả lại một thuộc tính mới từ lớp đó làm cách nào để thực hiện điều đó?Sử dụng LINQ để chọn thuộc tính của lớp để trả về IEnumerable <T>

Tôi đã thử SortedList.Select(x=>x.MyProperty, x.AnotherProperty) nhưng nó không hoạt động.

Cảm ơn.

+0

Làm thế nào nên việc "Có thể đếm được các thuộc tính" hiện diện? Bạn có thể cho chúng tôi một mẫu, tốt nhất là với mã giả không? – Ani

Trả lời

17

Bạn có thể trả về một đối tượng ẩn danh:

var result = SortedList.Select(x => new { 
    x.Value.MyProperty, 
    x.Value.AnotherProperty 
}); 

Hoặc nếu bạn muốn sử dụng kết quả ngoài phạm vi của phương pháp hiện tại bạn có thể định nghĩa một kiểu tùy chỉnh:

IEnumerable<MyType> result = SortedList.Select(x => new MyType { 
    Prop1 = x.Value.MyProperty, 
    Prop2 = x.Value.AnotherProperty 
}); 
+0

Cảm ơn. Đã có một đầu đập vào thời điểm tường và quên x => mới {....... – Jon

Các vấn đề liên quan