web-dev-qa-db-fra.com

Méthode d'extension pour List <T> AddToFront (objet T) comment faire?

Je veux écrire une méthode d'extension pour la classe List qui prend un objet et l'ajoute à l'avant au lieu de l'arrière. Les méthodes d'extension me confondent vraiment. Est-ce que quelqu'un peut m'aider avec ça?

myList.AddToFront(T object);
28
Ryan Lee

List<T> possède déjà une méthode Insert qui accepte l'index dans lequel vous souhaitez insérer l'objet. Dans ce cas, c'est 0. Avez-vous vraiment l'intention de réinventer cette roue?

Si tu le faisais, tu le ferais comme ça

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

Mais encore une fois, vous ne gagnez rien que vous n'avez pas déjà.

81
Anthony Pegram