我要写搜索查询。在该查询中,我有一个如下所示的字符串列表:
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.包含字符串数组不区分大小写?