2013-12-13 84 views
2

在泛型列表中是否有內置函數來添加來自特定索引中另一個列表的範圍,還是必須編寫自己的?從特定索引列表AddRange?

例如:

List<int> list1 = new List<int>(); 
List<int> list2 = new List<int>(); 

list1.Add(10); 
list1.Add(20); 
list1.Add(30); 

list2.Add(100); 
//list2.AddRange(list1, 1) Add from list1 from the index 1 till the end 

在這個例子中,列表2應該有3個要素:100,20和30

我應該寫我自己還是有一個內置功能,可以做到這一點?

+0

http://msdn.microsoft.com/en-us/library/z883w3dc(v=vs.110).aspx – Shyju

+0

@Shyju他已經知道了'AddRange()'.. – DGibbs

回答

6

沒有內置到的AddRange,但你可以使用LINQ:

list2.Add(100); 
list2.AddRange(list1.Skip(1)); 

這裏是一個live example

2
List<int> list1 = new List<int>(); 
List<int> list2 = new List<int>(); 

list1.Add(10); 
list1.Add(20); 
list1.Add(30); 

list2.Add(100); 
list2.InsertRange(1,list1.Skip(1)); 

輸出上印刷:

可以使用InsertRange結合了LINQ跳躍方法,該方法將跳過該第一元件。如果你想在特定索引後插入。