的List<T>()
在System.Collections.Generic
缺省容量是0提供大小参数来列出<T>()
说我有一个功能
private IEnumerable<SomeType> DoStuff(IEnumerable<OtherType> e)
{
var list = new List<SomeType>();
foreach (var elem in e)
{
list.Add(new SomeType
{
SomeProperty = elem.OtherProperty
});
}
return list;
}
和予设定的list
大小运行循环像这样前:
private IEnumerable<SomeType> DoStuff(IEnumerable<OtherType> e)
{
var list = new List<SomeType>(e.Count());
foreach (var elem in e)
{
list.Add(new SomeType
{
SomeProperty = elem.OtherProperty
});
}
return list;
}
它是否在运行时间有所不同或是没有理由这样做,因为大小e
是'动态'?
试试看看。为预期内容提供足够大的尺寸将防止发生在引擎盖下的重新分配。 –
但是,如果你只是在一个列表上进行转换,为什么不使用LINQ的Select()? –