Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 字符串[]中的部分匹配_C#_Linq - Fatal编程技术网

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();