.NET List<T>Conat vs AddRange

最大的不同在于AddRange改变了它所调用的列表,而Concat创建了一个新的List。因此它们有不同的用途。

Concat也是一种适用于任何IEnumerable的扩展方法,并返回一个IEnumerable,你需要一个.ToList()来产生一个新的List。

如果要扩展现有列表的内容,请使用AddRange。

如果要从两个IEnumerable源创建一个新列表,请使用Concat和.ToList。这具有不改变任何来源的质量。

如果只需枚举两个列表(或任何其他IEnumerable)的内容,那么只需每次使用Concat,这样做的好处是不会实际分配新内存来保存统一列表。

原文地址:https://www.cnblogs.com/macT/p/12068277.html