C# 从列表中删除对象

C# 从列表中删除对象,c#,winforms,for-loop,C#,Winforms,For Loop,我的名单是 public List<BaseHomePage.QueueListItem> QueueDataSource { get { return this._queueDataSource; } set { this._queueDataSource = value; } } 公共列表队列数据源 { 获取{返回此。\u queueDataSource;} 设置{this.\u queueDataSource=value;} } 我想从列表中删除

我的名单是

public List<BaseHomePage.QueueListItem> QueueDataSource
   {
    get { return this._queueDataSource; }
    set { this._queueDataSource = value; }
   }
公共列表队列数据源
{
获取{返回此。\u queueDataSource;}
设置{this.\u 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
    }
}
for(int i=0;i<\u queueDataSource.Count;i++)
{
对象队列=_queueDataSource[i];
if(objQuery.BranchOutQueue)
{
this._queueDataSource.Remove(queue);//这里我想得到一个错误
}
}
错误:与的最佳重载方法匹配 system.collections.Generic.List.Remove(BaseHome.QueueList) 有一些无效的参数


不要使用
对象
使用

或者具体地说,您可以使用:

BaseHomePage.QueueListItem queue = _queueDataSource[i];

出现此错误的原因是
Remove
需要与列表类型相同的参数,因为在类型
object
中重新运行的对象不兼容

而不是使用
对象
使用

或者具体地说,您可以使用:

BaseHomePage.QueueListItem queue = _queueDataSource[i];

出现此错误的原因是
Remove
需要与列表类型相同的参数,因为在类型
object
中重新运行的对象不兼容

只需使用
RemoveAt
而不是
对象的base

     for (int i = 0; i < _queueDataSource.Count; i++)
        {
            if (IsSuccess)
             _queueDataSource.RemoveAt(i)
        }
for(int i=0;i<\u queueDataSource.Count;i++)
{
如果(IsSuccess)
_queueDataSource.RemoveAt(i)
}

只需从
对象中使用
RemoveAt
而不是base

     for (int i = 0; i < _queueDataSource.Count; i++)
        {
            if (IsSuccess)
             _queueDataSource.RemoveAt(i)
        }
for(int i=0;i<\u queueDataSource.Count;i++)
{
如果(IsSuccess)
_queueDataSource.RemoveAt(i)
}

+1这是我们想要的。基于
索引
还是基于
对象
<代码>:)
+1这是我们想要的。基于
索引
还是基于
对象
<代码>:)