Самый экономически эффективный метод мог бы быть, для рассмотрения более быстрых аппаратных средств (=> соответствующая аппаратная архитектура). Я не говорю более быстрые центральные процессоры, а скорее более быстрые диски, быстрее объединяясь в сеть.. быстрее что-либо, действительно, который ускоряет ввод-вывод.
я испытал это много лет назад, когда мы переместились, XML-парсинг основывал приложение (новейшая технология в этом time< g>) от (быстрый и надежный!) Windows Server к специализированному, хотя несколько устаревший, платформе SUN с более быстрым вводом-выводом все вокруг.
Как всегда, рассмотрите
, и улучшитесь, где большинство (стоил!) эффективный для проблемы под рукой...
Try the following
var l = Enumerable.Repeat('x',5).ToList();
Fastest way I know is:
int i = 0;
MyObject obj = new MyObeject();
List<MyObject> list = new List<MyObject>();
for(i=0; i< 5; i++)
{
list.Add(obj);
}
which you can make an extention method if you want to use it multiple times.
public void AddMultiple(this List<T> list, T obj, int n)
{
int i;
for(i=0;i<n;i++)
{
list.Add(obj);
}
}
Then you can just do:
List<MyObject> list = new List<MyObject>();
MyObject obj = new MyObject();
list.AddMultiple(obj, 5);
This seems pretty straight-forward ...
for( int i = 0; i < n; i++ ) { lst.Add( thingToAdd ); }
:D