我有名单,我; 只想根据LinQ/LAMBDA选择某些标准
我的代码是
Lists.ForEach(x => x.IsAnimal == false { /* Do Something */ } );
Run Code Online (Sandbox Code Playgroud)
我收到错误"在此部分中只有赋值,调用,递增,递减和新对象表达式可以用作语句" x.IsAnimal == false
我知道我们可以通过for循环轻松实现这一目标,但我希望通过使用LinQ/LAMBDA来学习更多内容
kra*_*ew4 20
在使用ForEach之前,只需使用Where和ToList
Lists.Where(x => !x.IsAnimal).ToList().ForEach(...)
Run Code Online (Sandbox Code Playgroud)
Lew*_*rin 18
那是行不通的,因为你无法false{}构建.
Lists.ForEach(x => {
if(x.IsAnimal){
//Do Something
}
} );
Run Code Online (Sandbox Code Playgroud)
请阅读lambda表达式的语法:lambda表达式表示方法; =>参数列表之前的部分,之后的部分是返回结果的单个表达式,或方法体.
您可以在该方法体中添加限制:
Lists.ForEach(x => {
if (!x.IsAnimal) {
// do something
}
});
Run Code Online (Sandbox Code Playgroud)