Domanda

Qual è la differenza tra il Iladdrangemetodo e Concat funzioni di un Elenco generico?È quello consigliato sopra l'altro?

È stato utile?

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,

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top