用linq语句替换foreach

麦克风

我正在尝试将此代码转换为linq:

foreach (var printer in printers)
{
    if (printer.Installed)
        installedPrinters.Add(printer);
}

我是Linq的新手,并希望获得有关在迭代集合时如何工作的指示。

罗伯特·利维
printers.Where(printer => printer.Installed)
  .ToList()
  .ForEach(printer => installedPrinters.Add(printer));

请注意,需要在ForEach之前调用ToList()(请参阅使用Foreach子句的Lambda表达式)。

还要注意,尽管这行得通,但是您的原始代码可能更容易阅读... LINQ很酷,但是并没有义务将其用于所有事情:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章