0

我们可以将此 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);
        }
    }
}
4

3 回答 3

1
sds = lnd.Join(Pages, n => n.NiceUrl, p => p, (n, p) => n).ToList();
于 2013-03-31T05:59:10.730 回答
1
from n in lnd
from s in Pages
where n.NiceUrl == s
select n
于 2013-03-31T05:21:10.257 回答
0
Pages.Where(y => lnd.Select(x => x.NiceUrl).Contains(y)).Tolist();

lnd.Select(x => x.NiceUrl) 部分可以替换为 HashSet。

于 2013-03-31T05:22:08.120 回答