删除记录不像参数的记录 - Lambda

时间:2014-04-08 15:14:03

标签: c# lambda

我正在使用lambda表达式来检查代理商列表中的参数,然后删除参数不是部分匹配或完全匹配的所有代理商。例如,如果我列出了Ron的会计,Bill可以依靠我的汽车和Julies烹饪用品,那么当参数"计数&#34时,lambda表达式应该删除Julies Cooking Supplies ;通过了。如何使用lambda表达式完成此操作?这是我一直在尝试的。

copyAgencies.RemoveAll(a => a.AgencyName != a.AgencyName.Contains(param));

我认为它应该像sql中的通配符,或类似。

伪代码,如果param不是LIKE AgencyName,则删除。

2 个答案:

答案 0 :(得分:0)

这将删除AgencyName不包含param值的所有元素:

copyAgencies.RemoveAll(a => !a.AgencyName.ToLower().Contains(param.ToLower()));

答案 1 :(得分:0)

string.Contains区分大小写。尝试:

copyAgencies.RemoveAll(n => -1 == n.IndexOf(param, StringComparison.CurrentCultureIgnoreCase));

param设置为"count"时,copyAgenciesshould则具有:

{"Ron's Accounting" ,"Bill's You Can Count on me Automotive"}