collection . generic . list . removeall的无效参数
本文关键字:无效 参数 removeall generic list collection | 更新日期: 2023-09-27 18:11:26
我有这个方法,它告诉我我有一些无效的参数,我试图从我的List<SelectListItem>
对象调用RemoveAll
。我只需要根据一个简单的条件从下拉列表中删除几个项目。
public JsonResult GetExportTables(CaseListDynExport objCaseListDynExport)
{
List<SelectListItem> lstExportTablesList = new List<SelectListItem>();
try
{
CaseListDynExportBLL objCaseListDynExportBLL = new CaseListDynExportBLL();
DataTable dtExportTables = objCaseListDynExportBLL.GetExportTables(objCaseListDynExport);
lstExportTablesList = DropDownHelper.GetSelectListItem("TableName", "TableExportCode", null, dtExportTables);
if (objCaseListDynExport.someCondition)
lstExportTablesList.RemoveAll(lstExportTablesList.Where(l => l.Text.IndexOf("Audit") >= 0));
}
catch (Exception ex)
{
LogUtility.ErrorException(ex);
}
return Json(lstExportTablesList, JsonRequestBehavior.AllowGet);
}
我一定是忽略了一些非常明显的东西,但我却不知道我做错了什么。
我看了这些帖子:
- https://stackoverflow.com/a/1698166/1189566
- https://stackoverflow.com/a/11874550/1189566
- https://www.dotnetperls.com/removeall
- https://msdn.microsoft.com/en-us/library/wdka673a (v = vs.110) . aspx
但是的;
应该是:
lstExportTablesList.RemoveAll(l => l.Text.IndexOf("Audit") >= 0);
所以你直接传递一个lambda方法给RemoveAll
方法来检查条件。
一个更简洁的方式,具有相同的功能,将是:
lstExportTablesList.RemoveAll(l => l.Text.Contains("Audit"));