检查列表中的每个元素并进行更改(C#)?

gra*_*ady 2 c# list

如何检查通用列表中的某个元素并在需要时进行更改?

就像是

list.WhatEever(l => l.TheElem == null ? l.TheElem = 1 : 0)
Run Code Online (Sandbox Code Playgroud)

谢谢 :-)

Fre*_*örk 5

如果你真的想使用一种方法,你可以使用ForEach,但只能在列表上使用(ToList如果list已经是,则不需要调用List<T>):

list.ToList().ForEach(l => l.TheElem = l.TheElem == null ? 1 : 0);
Run Code Online (Sandbox Code Playgroud)

就个人而言,我会发现使用foreach循环更直接:

foreach(var l in list)
{
    l.TheElem = l.TheElem == null ? 1 : 0;
}
Run Code Online (Sandbox Code Playgroud)

这有利于任何工作,IEnumerable<T>而不仅仅是List<T>.