Der große Unterschied ist, dass AddRange mutiert, die Liste, gegen die es aufgerufen wird, in der Erwägung, dass Concat erzeugt eine neue Liste. Damit haben Sie anders verwendet.
Auch Concat ist eine Erweiterung Methode, die gilt für jede IEnumerable-Schnittstelle und liefert eine IEnumerable-Sie benötigen einen .ToList (), um das Ergebnis in eine neue Liste.
Wenn Sie möchten, erweitern Sie den Inhalt einer vorhandenen Liste AddRange verwenden.
Wenn Sie das erstellen einer neuen Liste aus zwei IEnumerable Quellen verwenden Sie dann mit Concat .ToList. Dies hat die Qualität, dass es nicht mutieren entweder von Quellen.
Wenn Sie nur jemals brauchen, um aufzuzählen, den Inhalt der beiden Listen (oder anderen IEnumerable), dann verwenden Sie einfach Concat jedes mal, dies hat den Vorteil, dass Sie nicht tatsächlich Vergabe neuer Speicher halten die unified-Liste.
Haben Sie völlig unterschiedliche Semantik.
AddRange ändert die Liste durch hinzufügen von anderen Elementen zu.
Concat liefert eine neue Sequenz mit der Liste und die anderen Gegenstände, die, ohne änderung der Liste.
Wählen, je nachdem, hat man die Semantik, die Sie wollen.
InformationsquelleAutor der Antwort Greg Beech
Der große Unterschied ist, dass AddRange mutiert, die Liste, gegen die es aufgerufen wird, in der Erwägung, dass Concat erzeugt eine neue Liste. Damit haben Sie anders verwendet.
Auch Concat ist eine Erweiterung Methode, die gilt für jede IEnumerable-Schnittstelle und liefert eine IEnumerable-Sie benötigen einen .ToList (), um das Ergebnis in eine neue Liste.
Wenn Sie möchten, erweitern Sie den Inhalt einer vorhandenen Liste AddRange verwenden.
Wenn Sie das erstellen einer neuen Liste aus zwei IEnumerable Quellen verwenden Sie dann mit Concat .ToList. Dies hat die Qualität, dass es nicht mutieren entweder von Quellen.
Wenn Sie nur jemals brauchen, um aufzuzählen, den Inhalt der beiden Listen (oder anderen IEnumerable), dann verwenden Sie einfach Concat jedes mal, dies hat den Vorteil, dass Sie nicht tatsächlich Vergabe neuer Speicher halten die unified-Liste.
InformationsquelleAutor der Antwort AnthonyWJones