简单的C#foreach到LINQ问题

Sea*_*son 2 c# linq

目前有这个:

foreach (var series in Chart1.Series)
{
    series.Enabled = false;
}
Run Code Online (Sandbox Code Playgroud)

我想用简单的一行表达来表达这一点.我认为这会奏效:

Chart1.Series.Select( series => series.Enabled = false);
Run Code Online (Sandbox Code Playgroud)

然而,这没有任何影响.大概是因为我误解了Select是如何工作的,这很好.

我的下一个想法是做一些像Chart1.Series.ForEach(series => series.Enabled = false),但Chart1.Series没有实现IEnumberable(..或至少ForEach不是一个可接受的方法来调用).

我宁愿不这样做Chart1.Series = Chart1.Series.ToList().ForEach( series => series.Enabled = false);,但也许这是最简单的选择?

And*_*per 6

foreach是你想要做的首选.您正在迭代一系列元素并修改元素.这foreach是为了什么.

Linq用于获取一个元素序列并基于某些标准/转换生成新序列.不是你想要的.