Tôi gần như lúng túng khi hỏi câu hỏi này, nhưng với tư cách là một lập trình viên C trong thời gian dài tôi cảm thấy rằng có lẽ tôi không biết cách tốt nhất để làm điều này trong C#.Cách tốt nhất để trả về hai danh sách trong C# là gì?
Tôi có chức năng thành viên mà tôi cần trả lại hai danh sách loại tùy chỉnh (List<MyType>
) và tôi biết trước rằng tôi sẽ luôn có giá trị trả về chỉ hai trong số các danh sách này.
Các tùy chọn hiển nhiên là:
public List<List<MyType>> ReturnTwoLists();
hoặc
public void ReturnTwoLists(ref List<MyType> listOne, ref List<myType> listTwo);
Cả hai dường như là không tối ưu.
Bất kỳ đề xuất nào về cách cải thiện điều này?
Cách thứ nhất không rõ ràng trong cú pháp chỉ có 2 danh sách được trả về và thứ hai sử dụng tham chiếu thay vì giá trị trả về, có vẻ như không phải là C#.
Chỉ còn lại ... .NET 4.0 có Tuple <> type. –
Tôi thấy rằng bạn đã sử dụng T và U để chỉ định các mục. Nếu bạn có nhiều hơn 2 tuple, bạn sẽ đi cho T-U-V-W ... hoặc T-U-P-L-E? :) –
@Mark: không nghĩ về nó. Trước khi nghĩ về điều đó, tôi sẽ nghĩ đến việc chuyển sang F #! –