Quelle est la différence entre le AddRange et Concat fonctions sur une Liste générique? Est celui qui est recommandé sur l'autre?
Réponses
Trop de publicités?La grande différence est que AddRange mutation de cette liste à l'encontre de laquelle il est appelé alors que Concat crée une nouvelle Liste. Par conséquent, ils ont chacun des utilisations différentes.
Aussi Concat est une extension de la méthode qui s'applique à toute IEnumerable et renvoie un IEnumerable vous avez besoin d'un .ToList() pour aboutir à une nouvelle Liste.
Si vous souhaitez étendre le contenu d'une liste d'AddRange.
Si vous créez une nouvelle liste de deux IEnumerable sources puis utilisez Concat .ToList. Ce qui a la qualité de ne pas muter soit de sources.
Si vous avez uniquement besoin d'énumérer le contenu de deux Listes (ou tout autre IEnumerable) puis il suffit d'utiliser Concat à chaque fois, cela a l'avantage de ne pas réellement de l'attribution de nouveaux de mémoire pour contenir la liste unifiée.