List <T> AddToFront(T对象)的扩展方法如何?

Rya*_*Lee 27 c# extension-methods list

我想为List接受对象的类编写扩展方法,并将其添加到前面而不是后面.扩展方法真让我迷惑.有人可以帮我解决这个问题吗?

myList.AddToFront(T object);
Run Code Online (Sandbox Code Playgroud)

Ant*_*ram 85

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
Run Code Online (Sandbox Code Playgroud)

但同样,你没有获得任何你没有的东西.

  • 哇谢谢.我完全不知道插入.再次感谢您为该扩展程序提供代码,因为它有助于阐明扩展程序的工作原理. (5认同)
  • @EpiX,很高兴帮忙.两次.;) (2认同)