如何从列表中删除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];
}
}
答案 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);