寻址所有列表项

本文关键字:列表 寻址 | 更新日期: 2023-09-27 18:28:07

我试图在没有forEach循环的情况下处理列表中的所有项。

例如:

 ColorTextBlocks = new List<TextBlock>()
        {
            tb1,
            tb2,
            tb3,
            tb4,
            tb5,
            tb6
       }

是否可以在一行中更改所有项目的前景?

寻址所有列表项

当然,您有List<T>.ForEach()方法。

ColorTextBlocks.ForEach(tb => tb.Color = Color.Green);

但是,这是否比普通的foreach()循环"更好"还有争议。它肯定不会更快。

确定:

ColorTextBlocks.All(c => { c.ForeGround = Color.Blue; return true; });

你也可以做:

ColorTextBlocks.ForEach(c => c.ForeGround = Color.Blue);

但为什么"在一行"?foreach循环传统上比Linq查询更可读。。。