我们可以将这个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);
}
}
}
答案 0 :(得分:1)
from n in lnd
from s in Pages
where n.NiceUrl == s
select n
答案 1 :(得分:1)
sds = lnd.Join(Pages, n => n.NiceUrl, p => p, (n, p) => n).ToList();
答案 2 :(得分:0)
Pages.Where(y => lnd.Select(x => x.NiceUrl).Contains(y)).Tolist();
lnd.Select(x =&gt; x.NiceUrl)部分可以用HashSet替换。