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

Метод расширения для списка <T> AddToFront (объект T) как?

Я хочу написать метод расширения для класса List, который берет объект и добавляет его спереди, а не назад. Методы расширения действительно путают меня. Может кто-нибудь помочь мне с этим?

myList.AddToFront(T object);
4b9b3361

Ответ 1

List<T> уже имеет метод Insert, который принимает индекс, который вы хотите вставить. В этом случае это 0. Вы действительно собираетесь изобретать это колесо?

Если бы вы сделали это, вы сделали бы это так:

public static class MyExtensions 
{
    public static void AddToFront<T>(this List<T> list, T item)
    {
         // omits validation, etc.
         list.Insert(0, item);
    }
}

// elsewhere

List<int> list = new List<int>();
list.Add(2);
list.AddToFront(1);
// list is now 1, 2

Но опять же, вы не набираете ничего, чего у вас еще нет.