如何从列表中删除项目

时间:2013-12-20 09:34:08

标签: c# list

如何从列表中删除Test类中添加的武器?我尝试过像weapon.RemoveItems(Weapon)这样的东西但是没有用。

InventorySlot<Weapon> weapon = new InventorySlot<Weapon>();

public Test()
{ 
    weapon.AddItems(new Weapon());
    weapon.RemoveItems();     
}

class InventorySlot<T>
{
    List<T> items = new List<T>();

    public int Count
    {
        get { return this.items.Count; }
    }

    public void AddItems(T item)
    {
        this.items.Add(item);
    }

    public void RemoveItems(T item)
    {
        this.items.Remove(item);
    }

    public T GetItem(int index)
    {
        return items[index];
    }
}

2 个答案:

答案 0 :(得分:3)

您可以按索引或引用从列表中删除项目:

list.RemoveAt(0);      // removes the first item in the list

list.Remove(myWeapon); // removes the instance myWeapon from the list

间接使用LINQ:

var firstItem = list.First();
list.Remove(firstItem);

var lastItem = list.Last();
list.Remove(lastItem);

答案 1 :(得分:0)

如果您知道要删除的项目的index,请尝试list.RemoveAt(index);