public SharpQuery Add(params HtmlNode[] elements)
{
var nodes = new List<HtmlNode>(_context.Count + elements.Length);
nodes.AddRange(_context);
nodes.AddRange(elements);
return new SharpQuery(nodes, this);
}
public SharpQuery(IEnumerable<HtmlNode> nodes, SharpQuery previous = null)
{
if (nodes == null) throw new ArgumentNullException("nodes");
_previous = previous;
_context = new List<HtmlNode>(nodes);
}
我有很多函数创建一个新的List<T>
,添加许多节点,然后将其传递给另一个构造函数,该构造函数使用该列表创建另一个新列表。
编译器是否足够聪明,能够找出它实际上不需要两次创建列表?