【发布时间】:2017-07-10 09:36:00
【问题描述】:
我有一组对象,其参数可能已定义,也可能未定义。
我正在尝试对使用 LINQ 的人进行分组。
我正在使用以下语法:
(From o In oList Group By Category = o.sCategory Into CategoryGroup = Group)
它工作正常,但是不返回没有sCategory 属性的对象。
我想实现同样的目标,但为这些对象增加一个组。
我发现了一个类似的问题(Linq GroupBy with each null value as a group),但它使用方法语法,我想坚持使用查询语法,因为我认为它更具可读性。
我尝试转换它,例如:
(From o In oList Group By Category = (Function (p) IIf(p.sCategory Is Nothing,"Empty", p.sCategory)) Into CategoryGroup = Group)
不起作用:我返回了一个包含所有对象的组,以及名称 '<generated method>'
您将如何实现这一目标?
【问题讨论】:
-
“对我没有多大帮助” 只是一点点,比如说 90%?开个玩笑,请告诉我们什么不起作用,否则很难提供帮助。 编辑您的修复“不起作用。”也不是更好
-
我进行了编辑以反映我的失败 :) 我返回一个包含所有对象的组,名称为“”
-
编辑你的问题以包含这个,不要评论它
-
学习流利的(方法)语法。它使 LINQ 查询更易于编写和理解。并不是所有的函数都可以在查询语法中使用。