3

私が次のものを持っているとしましょう:

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

list1.AddLast(1);
list1.AddLast(2);

list2.AddLast(1);
list2.AddLast(2);

私の知る限り、あなたは次のことをすることはできません。

list1.AddLast(list2.First);

一緒に接続されるリストを除いて。

C#で2つのLinkedListをマージする適切な方法は何ですか?メソッドがあることは知ってUnion()いますが、C ++のLinkedListの長所は、必要に応じてリストを簡単に組み合わせたり、分割したりできることです。

LinkedListクラスは、連鎖、分割、サイクル、またはリストを一貫性のない状態のままにする可能性のあるその他の機能をサポートしていません。

4

1 に答える 1

4

Listの代わりにを使用する場合も同様に簡単ですLinkedList。リスト全体を実行する方法はいくつかあります。

LINQ;

var combinedList = list1.Concat(list2).ToList();

私がmsdnで見つけた他の方法。

List<int> combinedList = new List<int>();
combinedList.AddRange(list1);
combinedList.AddRange(list2);
于 2012-11-16T01:47:14.007 に答える