C#中列表的.Append()
和.Add()
方法之间是否有区别?我曾尝试在Google和网站中进行搜索,但令我惊讶的是没有人问过。我问的原因是要知道这两种方法之一是否需要较少的性能。我一直在交替使用这两种方法,但在它们的功能上没有发现任何差异,因为它们都将我的对象添加到了列表的末尾(这或多或少是Visual Studio在查看功能时给您的描述方法说明)。
编辑:
嗯,起初我并不认为这很重要,但是当我不能在控制台应用程序上使用Append时,我注意到可以在ASP.NET Web应用程序上使用Append。所以我在一个ASP.NET Web应用程序的上下文中问。
C#中的[List<T>
仅具有void Add(T item)
method来修改实例,将单个项目添加到列表中。
void Add(T item)
是在IEnumerable<T> Append(this IEnumerable<T> source, T element)
接口上定义的扩展方法(由所有列表实现)。它不会修改原始列表实例,但会返回一个新的可枚举,它将在序列末尾产生指定的元素。
它们不能互换使用,并且具有不同的结果和不同的副作用。这样询问他们的相对表现是没有道理的。
IEnumerable<T> Append(this IEnumerable<T> source, T element)
[IEnumerable<T>
是空的。
var list = new List<string>();
list.Add("one");
list.Add("two");
// list contains: [ one, two ]
list.Append("three");
// list still contains: [ one, two ]
返回 IEnumerable,因此您可以
Add