.NET Elenco<T> Concat vs Iladdrangemetodo
-
01-07-2019 - |
Domanda
Qual è la differenza tra il Iladdrangemetodo e Concat funzioni di un Elenco generico?È quello consigliato sopra l'altro?
Soluzione
Hanno totalmente diversa semantica.
Iladdrangemetodo modifica l'elenco aggiungendo altri elementi.
Concat restituisce una nuova stringa contenente l'elenco e le altre voci, senza modificare l'elenco.
Scegliere qual è la semantica che si desidera.
Altri suggerimenti
La grande differenza è che Iladdrangemetodo muta che elenco con il quale è chiamato mentre Concat crea un nuovo Elenco.Quindi hanno diversi usi.
Anche Concat è un metodo di estensione che si applica a qualsiasi IEnumerable e restituisce un oggetto IEnumerable avete bisogno di un .ToList() per determinare un nuovo Elenco.
Se si desidera estendere il contenuto di un elenco esistente uso Iladdrangemetodo.
Se si sta creando una nuova lista da due IEnumerable fonti quindi utilizzare Concat con .ToList.Questa è la qualità che non mutano di fonti.
Se avete solo bisogno di enumerare il contenuto di due Liste (o qualsiasi altro oggetto IEnumerable) è sufficiente utilizzare Concat ogni volta, questo ha il vantaggio di non effettivamente l'allocazione di memoria per contenere l'elenco unificato.
Ho trovato questo interessante articolo che descrive la differenza tra queste 2 strutture e confrontare le loro prestazioni...
L'idea principale è che Iladdrangemetodo è in modo molto più veloce quando il suo proposito di grandi dimensioni collezioni.
Qui è il Link
Spero che questo aiuta,