c#-List<T>的Add()和Append()的区别

今天遇到一个bug:往List< double>里加元素,结果加了半天,长度还是0。。。最后发现是用了Append而不是Add

List<double> d = new List<double>();
for (int i = 0; i < 10; i++)
{
    d.Append(0);
}
Console.WriteLine(d.Count); // 是0

换到Add就可以正确添加元素了。

IEnumarable Append(this IEnumerable source, T element)是在IEnumerable接口上定义的扩展方法,它不会修改原始列表实例,但会返回一个新的枚举,它将在序列的末尾生成指定的元素。

也就是说应该d = XX.Append(data).ToList()。对应的,在序列开头添加值用Prepend

上一篇:register_globals(全局变量注册开关)


下一篇:阿良的算法之路(动态规划之分组背包问题)