將一個列表的元素添加到另一個列表的最簡單方法是什麼?將元素從一個列表添加到另一個C#
例如,我有兩個列表:
其中包含X的項目包含ÿ項 列表B列表A。
我想將B的元素添加到A中,以便A現在包含X + Y項目。我知道這可以使用循環完成,但有沒有內置的方法呢?還是其他技術?
將一個列表的元素添加到另一個列表的最簡單方法是什麼?將元素從一個列表添加到另一個C#
例如,我有兩個列表:
其中包含X的項目包含ÿ項 列表B列表A。
我想將B的元素添加到A中,以便A現在包含X + Y項目。我知道這可以使用循環完成,但有沒有內置的方法呢?還是其他技術?
您的問題描述了List.AddRange方法,該方法將其參數的所有元素複製到調用它的列表對象中。
作爲一個例子,代碼段
List<int> listA = Enumerable.Range(0, 10).ToList();
List<int> listB = Enumerable.Range(11, 10).ToList();
Console.WriteLine("Old listA: [{0}]", string.Join(", ", listA));
Console.WriteLine("Old listB: [{0}]", string.Join(", ", listB));
listA.AddRange(listB);
Console.WriteLine("New listA: [{0}]", string.Join(", ", listA));
打印
Old listA: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Old listB: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
New listA: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
表示的listB
所有元素在AddRange
呼叫加入到listA
。
要加入兩個列表,你可以做
listA.AddRange(listB); // listA will contain x+y items
或
// listC contains x+y items, listA and listB are unchanged.
var listC = listA.Concat(listB);
你可以使用後者的重新分配,而不是listA
:
listA = listA.Concat(listB).ToList();
但沒有任何如果你可以修改其中一個o,則可以優於AddRange
最重要的名單。