33

是否可以在 LINQ 调用中添加if-statement ForEach

sequence.Where(x => x.Name.ToString().Equals("Apple"))
        .ToList()
        .ForEach( /* If statement here */ );
4

4 回答 4

72

您可以执行以下操作...

List.Where(x => x.Name.ToString().Equals("Apple").ToList()
    .ForEach( x => { if(x.Name == ""){}} );
于 2013-07-04T03:28:52.487 回答
36

是的,if 语句通常在 ForEach 中使用,如下所示:

sequence.Where(x => x.Name.ToString().Equals("Apple"))
    .ToList()
    .ForEach( x =>
     {
       if(someCondition)
       {
         // Do some stuff here.
       }  
     });
于 2013-07-04T04:53:12.137 回答
3

是的,它需要一个 lambda 表达式,因此您可以在其中放置任何有效的 c# 表达式

于 2013-07-04T03:27:02.020 回答
2

旧线程,但我认为语法更简洁

foreach(var item in sequence.Where(s => s.Name.ToString() == "Apple"))
{
 // do whatever
}
于 2018-10-24T15:41:48.167 回答