C# 如何通过StartWith在两个列表之间进行linq
我有两个字符串列表C# 如何通过StartWith在两个列表之间进行linq,c#,linq,C#,Linq,我有两个字符串列表 var list1 = new List<string> { "1", "12", "21", "34", "22" }; var list2 = new List<string> { "1", "2" }; 如何通过linq解决方案获得result1?您可以将Where与任意组合使用,如: var query = list1.Where(s1 => list2.Any(s2 => s1.StartsWith(s2))).ToList()
var list1 = new List<string> { "1", "12", "21", "34", "22" };
var list2 = new List<string> { "1", "2" };
如何通过linq解决方案获得
result1
?您可以将Where
与任意组合使用,如:
var query = list1.Where(s1 => list2.Any(s2 => s1.StartsWith(s2))).ToList();
你最终会得到:
{"1","12","21","22"}
另一个选项是进行交叉连接,然后进行如下查询:
var query = from s1 in list1
from s2 in list2
where s1.StartsWith(s2)
select s1;
您可以将Where
与Any
组合使用,如:
var query = list1.Where(s1 => list2.Any(s2 => s1.StartsWith(s2))).ToList();
你最终会得到:
{"1","12","21","22"}
另一个选项是进行交叉连接,然后进行如下查询:
var query = from s1 in list1
from s2 in list2
where s1.StartsWith(s2)
select s1;
使用,您可以执行以下操作
using NinjaNye.SearchExtensions;
var query = list.Search(x => x).StartsWith(list2);
使用,您可以执行以下操作
using NinjaNye.SearchExtensions;
var query = list.Search(x => x).StartsWith(list2);