c# - 在 LINQ 查询中分组

标签 c# .net linq group-by

我有一个数据表,我想在其中执行 GroupBy 查询。

year    url      type     id
=============================
        someurl  image    0
2003             date     0
        someurl  image    1
2009             date     1

我已设法根据我的 ID 进行分组,但我无法选择“年份”和“Url”列。

这是我的查询:

var query = from row in table.AsEnumerable()
            let uri = row["uri"]
            group row by row.Field<int>("id") into grp
            orderby grp.Key
            select new
            {
                ID = grp.Key,
            };

如何选择年份和网址列?

提前致谢。

最佳答案

当您在 LINQ 中分组时,您的组 (grp) 在您的案例中是一个可枚举的,包含组中的所有条目(在您的案例中为数据行)。然后,您可以 foreach 条目或使用聚合函数(如 Max、First 等)从可枚举中提取单个值

关于c# - 在 LINQ 查询中分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5947665/

相关文章:

c# - 在 using 语句中修改值类型变量

c# - 您如何编写 Outlook 加载项,以便在用户每次查看项目时在消息框中显示发件人的电子邮件地址?

c# - 在单元测试中出现 OutOfMemoryException

.net - 创建一个安装程序,在安装中创建+设置 SQL Server 数据库 - WPF/

c# - 为什么来自 ini 文件的\n 不起作用?

c# - 如何使用 CommandManager 并且仍然能够手动触发 ICommand.CanExecuteChanged 事件,即明确地?

c# - 如何安全地将数据库值分配给对象属性?

c# - 组合多个元素集合的优雅方式?

C# Linq 结果 ToDictionary 帮助

c# - .Select 不更新 View 模型对象的 ObservableCollection