【发布时间】:2016-10-04 18:33:46
【问题描述】:
我有这个方法告诉我我有一些无效的参数,我试图从我的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
但是是的;无法发现我做错了什么......
【问题讨论】:
-
你错过了一个事实,
RemoveAll不接受列表,而是Predicate作为参数。