我正在使用lambda表达式来检查代理商列表中的参数,然后删除参数不是部分匹配或完全匹配的所有代理商。例如,如果我列出了Ron的会计,Bill可以依靠我的汽车和Julies烹饪用品,那么当参数"计数&#34时,lambda表达式应该删除Julies Cooking Supplies ;通过了。如何使用lambda表达式完成此操作?这是我一直在尝试的。
copyAgencies.RemoveAll(a => a.AgencyName != a.AgencyName.Contains(param));
我认为它应该像sql中的通配符,或类似。
伪代码,如果param不是LIKE AgencyName,则删除。
答案 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"}