正在从 List<T> 中删除所有元素

Removing all elements from List<T>

我试图在用户单击消息框上的“是”时删除所有元素,但我不太确定如何在单击按钮时删除所有项目。我可以删除索引处的元素,但不能删除所有元素。

这就是我如何成功删除索引处的元素:

public void DeleteAt(int anIndex)
{
    if(CheckIndex(anIndex))
    m_list.RemoveAt(anIndex);
} 

但我想删除 所有 个元素。 我试过这样做:

public void DeleteAll()
{
      m_list.RemoveAll();
}

但是不行,说是RemoveAll();需要一个参数,但是不知道是什么参数。

List<T>.Clear()就是你想要的:

Removes all elements from the List.

所以在你的例子中:

public void DeleteAll()
{
    m_list.Clear(); 
}

m_list一个List<T>? Then the Clear()方法从中删除所有项目,这就是你想要的。

至于List<T>.RemoveAll(),文档已经说的很清楚了。基本上你需要传递一个 "filters" 你的列表的委托方法。在您的情况下,您可以传递始终 returns true 的内容,但没有必要,因为您已经拥有 Clear()