解决所有列表项

时间:2012-03-18 14:21:52

标签: c# list

我正在尝试在没有forEach循环的情况下解决列表中的所有项目。

例如:

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

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

2 个答案:

答案 0 :(得分:3)

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

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

但是,这是否比普通的foreach()循环更好,这是值得商榷的。它肯定不会更快。

答案 1 :(得分:2)

不确定

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

你也可以这样做:

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

但为什么“在一条线上”呢?传统上,foreq循环更具可读性,Linq查询...