estensione
Usa Enumerablr,
myList2=new List<MyType>(myList2.Concat(myList1))
BTW, se non si popola myList2, è sufficiente crearlo in base a myLis1.
EDIT
ho cercare di perfomance di ricerca per diversi casi
1) AddRange tramite add
List2.AddRange(List1);
public static class AddRangeUtils
{
public static void AddRange<T>(this ICollection<T> collection, IEnumerable<T> enumerable)
{
foreach (var cur in enumerable)
{
collection.Add(cur);
}
}
}
2) Concat
List2 = new List<TestClass>(List2.Concat(List1))
3) predefiniti Collezione Conte 1
var thirdList = new List<TestClass>(List2.Count + List1.Count);
foreach (var testClass in List1)
{
thirdList.Add(testClass);
}
foreach (var testClass in List2)
{
thirdList.Add(testClass);
}
List2 = thirdList;
4) predefiniti Collezione Count 2
var thirdList = new List<TestClass>(List2.Count + List1.Count);
thirdList.AddRange(List1);
thirdList.AddRange(List2);
List2 = thirdList;
della Collection è il conteggio di elementi per ciascuna lista, List1 e List2: ed è venuto a tali risultati (con lunghezza diversa della raccolta)
fonte
2012-03-01 16:46:41
'targetList.AddRange (sourceList);' – vulkanino
@vulkanino 'AddRange' è un metodo di' Elenco <> ', non' IList <> '. – phoog
sì, mi dispiace, volevo dire un cast che non ho specificato. – vulkanino