Lambda表达

use*_*824 7 c# lambda

我可以用lambda表达式简化这个语句吗?

var project = from a in accounts
              from ap in a.AccountProjects
              where ap.AccountProjectID == accountProjectId
              select ap;
Run Code Online (Sandbox Code Playgroud)

Ed *_* S. 3

老实说,我看起来很清楚。我认为这种情况下的 lambda 可读性可能较差,即像下面布兰登发布的那样。

(盗自布兰登的帖子)

var project = accounts.Select(a => a.AccountProjects)
                      .Where(x => x.AccountProjectID == accountProjectId);
Run Code Online (Sandbox Code Playgroud)

就可读性而言,我认为几个循环比 lambda 解决方案更可取,并且我认为您的解决方案比循环更可取。

  • 这取决于你如何编写它——在“.Where”之前添加一个换行符,然后 lambda 实际上变得非常可读。 (4认同)