Подтвердить что ты не робот

Самый короткий способ создания списка <T> повторяющегося элемента

С классом String вы можете сделать:

string text = new string('x', 5);
//text is "xxxxx"

Какой самый короткий способ создать список <T> , который заполнен элементами n, которые являются одинаковыми ссылками?

4b9b3361

Ответ 1

Попробуйте выполнить

var l = Enumerable.Repeat('x',5).ToList();

Ответ 2

Самый быстрый способ, который я знаю:

int i = 0;
MyObject obj = new MyObeject();
List<MyObject> list = new List<MyObject>();
for(i=0; i< 5; i++)
{
    list.Add(obj);
}

который вы можете сделать методом расширения, если вы хотите использовать его несколько раз.

public void AddMultiple(this List<T> list, T obj, int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        list.Add(obj);
    }
}

Тогда вы можете просто сделать:

List<MyObject> list = new List<MyObject>();
MyObject obj = new MyObject();
list.AddMultiple(obj, 5);

Ответ 3

Это кажется довольно прямолинейным...

for( int i = 0; i < n; i++ ) { lst.Add( thingToAdd ); }

: D