LINQ ForEach可以if语句吗?

时间:2013-07-04 03:25:42

标签: c# linq list if-statement foreach

是否可以在LINQ if调用中添加ForEach - 语句?

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

4 个答案:

答案 0 :(得分:44)

你可以做以下......

List.Where(x => x.Name.ToString().Equals("Apple").ToList()
    .ForEach( x => { if(x.Name == ""){}} );

答案 1 :(得分:32)

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

sequence.Where(x => x.Name.ToString().Equals("Apple"))
    .ToList()
    .ForEach( x =>
     {
       if(someCondition)
       {
         // Do some stuff here.
       }  
     });

答案 2 :(得分:3)

是的,它需要一个lambda表达式,所以你可以在那里放置任何有效的c#表达式

答案 3 :(得分:-1)

旧线程,但抛出了我认为更清晰的语法

foreach(var item in sequence.Where(s => s.Name.ToString() == "Apple"))
{
 // do whatever
}