我試圖實現一個方法來concartenate多個列表例如連接多個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);
,但我的方法不起作用:
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;
}
調用IEnumerable.Count()每個週期是有點浪費。調用它一次並將其存儲在一個變量中,或者更好地使用foreach循環:'var Temp = List.First(); (IEnumerable序列List.Skip(1))Temp = Enumerable.Concat(sequence);'。 –
2014-11-21 08:51:17