我正在尝试在没有forEach循环的情况下解决列表中的所有项目。
例如:
ColorTextBlocks = new List<TextBlock>()
{
tb1,
tb2,
tb3,
tb4,
tb5,
tb6
}
是否可以在一行中更改所有项目的前景?
答案 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查询...