【问题标题】:ObjectListView - how to remove all objectsObjectListView - 如何删除所有对象
【发布时间】:2014-09-02 06:49:45
【问题描述】:

当我用objectListViewInstance.Items.Clear() 删除Items 时,Objects 将在视觉上消失为Items,但它们仍在objectListViewInstance.Objects 集合中。

当我尝试时

foreach(object o in objectListViewInstance.Objects)
{
    objectListViewInstance.RemoveObject(o);
}

它以NullPointerException 结尾。

由于没有任何Objects.Clear() 方法,有什么方法可以删除Objects

【问题讨论】:

  • 在第二种方式中,只需添加一个空检查并删除
  • 复制一份objectListViewInstance.Objects 然后删除它。当您迭代它时,您正在从集合中删除项目。会导致不可预知的状态。

标签: c# listview objectlistview


【解决方案1】:

根据我尝试做的cmets

objectListViewInstance.Objects = null;

而且效果很好:)

【讨论】:

    【解决方案2】:

    由于没有任何 Objects.Clear() 方法,有什么方法可以删除 Objects?

    预期的方法是

    objectListViewInstance.ClearObjects();
    

    清除所有对象和

    objectListViewInstance.RemoveObject(o);
    

    删除特定的模型对象。但是,正如 Sriram 在 cmets 中指出的那样,在迭代集合时不要从集合中删除项目。

    【讨论】:

      【解决方案3】:

      在 foreach 循环中不能删除项目

      【讨论】:

      • 这是评论而非答案
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-27
      • 2019-03-28
      • 1970-01-01
      • 1970-01-01
      • 2020-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多