删除一个与参数Lambda不同的记录

本文关键字:Lambda 记录 参数 一个 删除 | 更新日期: 2023-09-27 17:57:36

我使用lambda表达式根据代理列表检查参数,然后删除参数不完全匹配或部分匹配的所有代理。例如,如果我有Ron’s Accounting、Bill’s You Can Count on me Automotive和Julies Cooking supplies的列表,则在传递参数"Count"时,lambda表达式应删除Julies CookingSupplies。如何使用lambda表达式实现这一点?这是我一直在尝试的。

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

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

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

删除一个与参数Lambda不同的记录

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"}

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

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