[英]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.