我们可以将此 For 循环转换为 LINQ 表达式吗?查询语法和方法语法?
List<INode> sds = new List<INode>();
foreach (INode n in lnd)
{
foreach(string s in Pages)
{
if (n.NiceUrl == s)
{
sds.Add(n);
}
}
}
我们可以将此 For 循环转换为 LINQ 表达式吗?查询语法和方法语法?
List<INode> sds = new List<INode>();
foreach (INode n in lnd)
{
foreach(string s in Pages)
{
if (n.NiceUrl == s)
{
sds.Add(n);
}
}
}
sds = lnd.Join(Pages, n => n.NiceUrl, p => p, (n, p) => n).ToList();
from n in lnd
from s in Pages
where n.NiceUrl == s
select n
Pages.Where(y => lnd.Select(x => x.NiceUrl).Contains(y)).Tolist();
lnd.Select(x => x.NiceUrl) 部分可以替换为 HashSet。