的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()? –