おそらく私は些細なことを見逃しています。いくつかの がList<T>
あり、それらから 1 つの大きなリストが必要です。これは、他のすべてのリストの結合です。しかし、値/コピーだけでなく、その大きなリストにそれらの参照が必要です(SOで通常見られる多くの質問とは異なります)。
たとえば、私はこれを持っています、
List<string> list1 = new List<string> { "a", "b", "c" };
List<string> list2 = new List<string> { "1", "2", "3" };
var unionList = GetThatList(list1, list2);
で欲しいリストを取得するとすると、次のようになりunionList
ます。
unionList.Remove("a"); => list1.Remove("a");
unionList.Remove("1"); => list2.Remove("1");
//in other words
//
//unionList.Count = 4;
//list1.Count = 2;
//list2.Count = 2;
明確にするために、これは通常次の場合に発生します
unionList = list1; //got the reference copy.
list2
しかし、2 番目のリストに追加するにはどうすればよいunionList
でしょうか。
試しAdd
てみAddRange
ましたが、明らかにコピーではなくクローンです。
unionList = list1;
unionList.AddRange(list2); //-- error, clones, not copies here.
と
foreach (var item in list2)
{
unionList.Add(item); //-- error, clones, not copies here.
}
更新:私は意味をなさないこと、および言語では本質的に不可能なことを尋ねていると思います..