从List中删除对象

时间:2013-02-21 04:28:46

标签: c# winforms for-loop

我的清单是

public List<BaseHomePage.QueueListItem> QueueDataSource
   {
    get { return this._queueDataSource; }
    set { this._queueDataSource = value; }
   }

我想从列表中删除该对象,我的代码是

for (int i = 0; i < _queueDataSource.Count; i++)
{
    object queue = _queueDataSource[i];

    if (objQuery.BranchOutQueue)
    {
        this._queueDataSource.Remove(queue);   //Here I want to getting error
    }
}
  

错误:最佳重载方法匹配   system.collections.Generic.List.Remove(BaseHome.QueueList)   有一些无效的论点

2 个答案:

答案 0 :(得分:2)

而不是使用object使用var

var queue = _queueDataSource[i];

或者具体你可以使用:

BaseHomePage.QueueListItem queue = _queueDataSource[i];

您收到错误的原因是Remove需要与List类型相同的参数,因为您在类型object中重新启动的对象不兼容。

答案 1 :(得分:1)

只需使用RemoveAt代替object

     for (int i = 0; i < _queueDataSource.Count; i++)
        {
            if (IsSuccess)
             _queueDataSource.RemoveAt(i)
        }