起因 今天在公司做一个需求的时候,写的是面条代码,一个方法直接从头写到尾,其中用到了GroupBy,且GroupBy的KeySelector是多个属性而不是单个属性. 但是公司最近推行Clean Code,要让代码有可读性.且作为一个有追求的程序员,肯定是不能写面条代码的,要对代码进行拆分. 重构前GroupBy大概是这样子的: var groups = data.GroupBy(m => new { m.PropertyA, m.PropertyB}) 个人对于短的Linq比较习惯于用方法而不