如何使用 Linq 搜索字符串中列表的任何项



我要写搜索查询。在该查询中,我有一个如下所示的字符串列表:

var listWords=new List<string>(){"Hello","Home","dog","what"};

我也有客户名单。如何搜索客户的名称是否包含列表单词中的至少一项:

  • 杰克之家

  • 大的

试:

var prodList = events.Where(x =>listWords.IndexOf(x.Name.Trim().ToLower()) != -1).ToList();

使用.Where.Any

var result = events.Where(c => listWords.Any(w => c.Name.Contains(w)));

您的解决方案的问题在于您将字符串转换为小写,但单词集合包含大写字符。在这种情况下,它不会找到匹配项: 如何使 Array.包含字符串数组不区分大小写?

相关内容

最新更新