C# 字符串[]中的部分匹配
我有两个字符串数组;一个是C# 字符串[]中的部分匹配,c#,linq,C#,Linq,我有两个字符串数组;一个是list,另一个是find 我希望能够使用扩展方法和linq计算find中部分包含在“list”中的项的数量。以下是我将如何在几个嵌套循环中完成此操作的摘要: int Count = 0; foreach (string f in find) { foreach (string l in list) { if (l.Contains(f)) { Count++;
list
,另一个是find
我希望能够使用扩展方法和linq计算find中部分包含在“list”中的项的数量。以下是我将如何在几个嵌套循环中完成此操作的摘要:
int Count = 0;
foreach (string f in find)
{
foreach (string l in list)
{
if (l.Contains(f))
{
Count++;
break;
}
}
}
return Count;
我希望能够做到以下几点:
int Count = list.Select(...);
在我的实际应用程序中,
list
是类型为IQueryable
的linq查询中的一个元素,find
是一个静态的字符串[]
。我希望能够在linq内执行上述计数。我知道我可能必须使用.AsEnumerable()
,因为无论解决方案是什么,都可能无法转换为SQL。第一个l
应该是list
,感谢扩展的语法
int count = find.Count(f => list.Any(s => s.Contains(f)));
var count = (
from f in find
where list.Any(l => f.Contains(l))
select f).Count();