Đây không phải là một câu hỏi phức tạp, nhưng tôi không thể quấn đầu quanh nó trong LINQ.Union A Danh sách các Danh sách Sử dụng LINQ
Tôi có một Enumerable<T>
chứa một Enumerable<string>
:
public class
{
List<List<string>> ListOfLists = new List<List<string>>();
}
tôi về cơ bản muốn quay trở lại mỗi chuỗi duy nhất từ ListOfLists; đây là dễ dàng sử dụng một vòng lặp foreach và một biến lưu trữ (có lẽ tôi có thể nâng cao hiệu quả của việc không có khác biệt ở phút cuối, nhưng đó không phải là điểm):
List<string> result = new List<string>();
foreach (var v in ListOfLists)
{
foreach (var s in v)
{
result.Add(s);
}
}
result.Distinct();
Làm thế nào để làm điều này với LINQ?
Bạn đã có câu trả lời. Tôi sẽ đề nghị chụp ở phương pháp Extension với vấn đề này! Trong trường hợp các phương pháp mở rộng của bạn thực hiện phương pháp SelectMany và Distinct theo cách tối ưu. –