-4

我已经添加了 70 多个条目,然后我尝试删除这些条目,但它会花费太多时间,即更多 5 分钟,如何快速删除?我的代码如下:

protected virtual void OnDeleteButtonClick()
{ if (RecipientsListBox != null)
        {
            DKSelectedIndexCollection list = RecipientsListBox.SelectedIndexes;
     if ((list != null) &&
         (mRecipientsBindingHelper != null) &&
         (mRecipientsBindingHelper.RecipientList != null))
     {
         // Remove the items from the binding list (do it in reverse to preserve the index)
         for (int i = list.Count - 1; i >= 0; i--)
         {
                              {
                 RecipientsBindingHelper.RecipientList.RemoveAt(list[i]);
             }

             EnableRecipientListPanelControls();

         }
     }
}
4

1 回答 1

3

从您的代码中并不清楚您使用的所有类型是什么。但是,如果您只想从列表中删除所有内容,请使用 Clear()。

http://msdn.microsoft.com/en-us/library/dwb5h52a.aspx

也就是说,如果您真的只是使用 RemoveAt() 从列表中删除 70 个条目,那么显然与使用 Clear() 相比,运行时不会增加 5 分钟,所以您看到的时间可能是由于其他原因而不是从你的解释中可以看出。可能与您的第二个内循环有关?

于 2013-10-18T11:49:22.513 回答