LINQ条件组

MrD*_*pan 16 linq grouping

是否可以使用条件组子句编写LINQ语句?这基本上就是我要做的事情:

bool someFlag = false;

var result = from t in tableName
   group t by new { (someFlag ? 0 : t.FieldA), t.FieldB } into g
   select g;
Run Code Online (Sandbox Code Playgroud)

所以基本上如果someFlag设置为true,我想只按FieldB分组,但如果它是假的,我想按FieldA和FieldB分组.

MrD*_*pan 25

同事为我找到了:

bool someFlag = false;
var result = from t in tableName
   group t by new { FieldA = (someFlag ? 0 : t.FieldA), t.FieldB } into g
   select g;
Run Code Online (Sandbox Code Playgroud)

  • 您可以省略“}”之后的所有内容。您不必明确选择分组项目。 (2认同)