使用 LINQ 更新 List<Object>

Ari*_*MAZ 1 c# linq

我正在尝试SELECT ALL使用 LINQ 向我的网格添加功能,但出现编译错误。

List<Person_> PeopleUpdated = People.ToList().ForEach(a => a.SELECTED = true).ToList();
Run Code Online (Sandbox Code Playgroud)

它说

无法将类型“void”隐式转换为“System.Collections.Generic.List < LogoSapHrIntegration.frmXmlUpload.Person_>”

我究竟做错了什么?

Jon*_*ton 5

List<T>.ForEach没有返回值(即无效),所以你不能运行ToList()对抗。(见MSDN

ForEach列表中每个项目的特定操作(就像做一个真正的for循环一样)。

在你的情况下,一个简单的 for 循环来选择所有是最有效的。

foreach (var person in People)
    person.Selected = true
Run Code Online (Sandbox Code Playgroud)