简体   繁体   English

LINQ 查询组合两个 string[] 数组

[英]LINQ query to combine two string[] arrays

I have this case where I have two string arrays.我有这种情况,我有两个字符串数组。

string[] array1 = new string[] { "aa", "bb", "cc"};
string[] array2 = new string[] { "abcd", "abbc", "abc", "cc", "abb" };

I want to use a linq query to choose only the items from array2 that have in them any at least one item form array1 .我想使用 linq 查询只从array2中选择至少有一个项目形式array1项目。

So in this case I want to get in response:所以在这种情况下,我想得到回应:

{ "abbc", "cc", "abb" };

I am starting my work with linq so please give me some explanation what I am doing wrong.我正在使用 linq 开始我的工作,所以请给我一些解释我做错了什么。 At this point this is my best try:在这一点上,这是我最好的尝试:

var res = array2.Select(n => array1.Select( c=> c.Contains(n))).ToArray();

But it returns:但它返回:

array[] {array1, array1, array1, array1, array1}

问题是,通过使用array1.Select(c=> c.Contains())您返回了一组布尔值(包含:是/否)。

var res = array2.Where(x => array1.Any(y => x.Contains(y))).ToArray();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM