Tôi đang cố gắng triển khai Phương thức tạo nhiều danh sách, ví dụ:Kết hợp nhiều IEnumerable <T>
List<string> L1 = new List<string>{"1","2"};
List<string> L2 = new List<string>{"1","2"};
List<string> L3 = new List<string>{"1","2"};
var result = Concartenate(L1,L2,L3);
nhưng Phương pháp của tôi không hoạt động:
public static IEnumerable<T> Concartenate<T>(params IEnumerable<T> List)
{
var Temp = List.First();
for (int i = 1; i < List.Count(); i++)
{
Temp = Enumerable.Concat(Temp, List.ElementAt(i));
}
return Temp;
}
Calling IEnumerable.Count() mỗi chu kỳ là một chút của một sự lãng phí. Gọi nó một lần và lưu trữ nó trong một biến, hoặc tốt hơn, sử dụng một vòng lặp foreach: 'var Temp = List.First(); foreach (IEnumerable chuỗi trong List.Skip (1)) Temp = Enumerable.Concat (chuỗi); –