C# 如何从列表中删除对象<;T>;
我的名单是C# 如何从列表中删除对象<;T>;,c#,c#-4.0,C#,C# 4.0,我的名单是 public List<BaseHomePage.QueueListItem> QueueDataSource { get { return this._queueDataSource; } set { this._queueDataSource = value; } } 公共列表队列数据源 { 获取{返回此。\u queueDataSource;} 设置{this.\u q
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 erroe
}
for(int i=0;i<\u queueDataSource.Count;i++)
{
对象队列=_queueDataSource[i];
if(objQuery.BranchOutQueue)
{
此._queueDataSource.Remove(queue);//我想在这里获取错误
}
错误:system.collections.Generic.List.Remove(BaseHome.QueueList)
的最佳重载方法匹配的参数无效
替换
object queue = _queueDataSource[i];
与
甚至
BaseHomePage.QueueListItem queue = _queueDataSource[i];
此时,您正在丢弃
队列
是特定类型的项目的信息,但您只能从列表中删除该特定类型的项目。而不是对象队列=_queueDataSource[i];请尝试BaseHomePage.QueueListItem=_queueDataSource[i];索引也应该调整以考虑删除。@GrantThomas实际上…除非objQuery.BranchOutQueue
发生更改,否则他最好在列表上调用Clear
:-我也遇到了这个异常:“system.collections.Generic.list.Remove(BaseHome.QueueList)”的最佳重载方法匹配“有一些是无效的arguments@lakki您确定这是错误消息吗?
内的类型和()
内的类型应该匹配。
BaseHomePage.QueueListItem queue = _queueDataSource[i];