foreq to linq tip想要的

Nif*_*fle 2 c# linq

我如何在linq中执行此操作?

var p = new pmaker();

 foreach (var item in itemlist)
 {
   var dlist = new List<Dummy>();
   foreach (var example in item.examples)
   { 
     dlist.Add(example.GetDummy()); 
   }
   p.AddStuff(item.X,item.Y,dlist);
 }

// .. do stuff with p
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 9

怎么样:

var qry = from item in itemlist
          select new {item.X, item.Y,
              Dummies = item.examples.Select(
                ex => ex.GetDummy())
          };
foreach (var item in qry)
{
    p.AddStuff(item.X, item.Y, item.Dummies.ToList());
}
Run Code Online (Sandbox Code Playgroud)

不确定这样更清楚,但是......我个人认为我可能只是使用原始foreach版本...可能会分开GetDummy一点:

foreach (var item in itemlist)
{
    var dlist = item.examples.Select(ex => ex.GetDummy()).ToList();
    p.AddStuff(item.X,item.Y,dlist);
}
Run Code Online (Sandbox Code Playgroud)