用lambdas替换嵌套的foreach c#

时间:2012-04-16 23:20:26

标签: c# lambda foreach

是否可以使用lambdas而不是foreachs来表达以下代码块?

    IEnumerable<BODSurveys.SurveysAnwer> resp = new List<SurveysAnwer>();
    foreach (var section in Sections)
    {
      foreach (var question in section.Questions)
      {
        foreach (var answer in question.SurveysAnwers)
        {
          yield return answer;
        }
      }
    }

1 个答案:

答案 0 :(得分:2)

是:

return Sections.SelectMany(s => s.Questions.SelectMany(q => q.SurveyAnswers));