C# 处理所有清单项目

C# 处理所有清单项目,c#,list,C#,List,我试图在没有forEach循环的情况下处理列表中的所有项 例如: ColorTextBlocks = new List<TextBlock>() { tb1, tb2, tb3, tb4, tb5, tb6 } ColorTextBlocks=新列表() { tb1, tb2, tb3, tb4, tb5,

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

例如:

 ColorTextBlocks = new List<TextBlock>()
        {
            tb1,
            tb2,
            tb3,
            tb4,
            tb5,
            tb6
       }
ColorTextBlocks=新列表()
{
tb1,
tb2,
tb3,
tb4,
tb5,
tb6
}
是否可以更改一行中所有项目的前景?

确定:

ColorTextBlocks.All(c => { c.ForeGround = Color.Blue; return true; });
您还可以执行以下操作:

ColorTextBlocks.ForEach(c => c.ForeGround = Color.Blue);
但为什么是“一行”?foreach循环传统上比Linq查询更具可读性…

当然:

ColorTextBlocks.All(c => { c.ForeGround = Color.Blue; return true; });
您还可以执行以下操作:

ColorTextBlocks.ForEach(c => c.ForeGround = Color.Blue);
但为什么是“一行”?传统上,foreach循环比Linq查询更具可读性…

当然,您有这个方法

但这是否比普通的foreach()循环“更好”还有争议。当然不会更快

当然,你有办法


但这是否比普通的foreach()循环“更好”还有争议。当然不会更快

这是欺骗:)这是循环:)如果不以这种或那种方式循环每个元素,您将无法更改每个元素的属性-可能是
foreach
循环、
.foreach
方法,或者更人为的方法。您可能只需要使用一个
foreach
循环,它非常快速且可读,如果您愿意,甚至可以是一行:
foreach(ColorTextBlocks中的var tb)tb.Foregound=Color.Green。这是作弊:)这是循环:)如果不以这种或那种方式循环每个元素,就无法更改每个元素的属性-可能是
foreach
循环、
.foreach
方法或其他更为人为的方法。您可能只需要使用一个
foreach
循环,它非常快速且可读,如果您愿意,甚至可以是一行:
foreach(ColorTextBlocks中的var tb)tb.Foregound=Color.Green。看起来很棒,现在需要了解:为什么“返回true”?因为IEnumerable.All需要一个接受T并返回布尔值的函数,因为每个循环的持续时间似乎更长。。。我正在开发一个手机应用程序,应该尽可能快。微小的代码不会说,微小的执行时间,这是错误的!!!如果您希望尽可能快地执行此代码,请使用
foreach
循环,它将比所有Linq查询快得多@阿诺夫:当然。我只是想更强调一下;)看起来很棒,现在需要了解一下:为什么“返回true”?因为IEnumerable。所有人都希望函数接受T并返回布尔值,但每个循环的持续时间似乎更长。。。我正在开发一个手机应用程序,应该尽可能快。微小的代码不会说,微小的执行时间,这是错误的!!!如果您希望尽可能快地执行此代码,请使用
foreach
循环,它将比所有Linq查询快得多@阿诺夫:当然。我只是想更强调一下;)