博客
关于我
Linq DataTable Group By 分组显示人员明细
阅读量:789 次
发布时间:2023-01-31

本文共 612 字,大约阅读时间需要 2 分钟。

C# 分组操作的实现细节

在C#应用中,经常需要对数据进行分组操作。以下将详细讲解如何利用Linq进行数据分组,并对结果进行展示。

首先,需要准备一个数据表来存储人员信息。以下是数据表的创建过程:

  • 创建一个空的DataTable实例
  • 添加ID、 UserName、 DeptNo和DeptName列,字符串类型用于部门编号和部门名称字段
  • 接下来,使用嵌套循环结构向数据表中添加示例数据。

    数据填充过程如下:

  • 循环创建 DataRow实例
  • 为每个条目设置对应的ID和用户名(通过在循环变量和字符串拼接)
  • 根据循环计数器决定部门编号和名称,即当i小于15时设置为人事部,其余设为生产部
  • 之后,输出分组前的数据以确认数据填充成功。

    接下来,进行分组操作:

  • 使用Linq查询语法对数据表中的数据进行分组
  • 根据DeptNo和DeptName字段作为分组依据
  • 将结果规格化为包含DeptNo、DeptName和StallInfo的对象
  • 最终,遍历分组结果并输出显示部门和对应的人员列表

    这种操作模式既简短又高效,适用于需要根据特定条件动态分组的场景。通过Linq查询,可以显著降低代码复杂度。

    分组结果展示如下:

    [部门名称](编号):姓名10,部门人事部姓名11,部门人事部...姓名15,部门生产部姓名16,部门生产部...

    以上是完整的实现过程,代码简洁且易于维护。如果需要扩展功能或调整分组条件,可以通过修改分组字典键轻松实现。

    转载地址:http://mkwfk.baihongyu.com/

    你可能感兴趣的文章
    leetcode题解206-反转链表
    查看>>
    leetcode题解227-基本计算器 II
    查看>>
    leetcode题解236-二叉树的最近公共祖先
    查看>>
    leetcode题解25-K个一组翻转链表
    查看>>
    leetcode题解279-完全平方数
    查看>>
    leetcode题解3-无重复字符的最长子串
    查看>>
    leetcode题解34-在排序数组中查找元素的第一个和最后一个位置
    查看>>
    leetcode题解347-前 K 个高频元素
    查看>>
    leetcode题解4-寻找两个正序数组的中位数
    查看>>
    leetcode题解41-缺失的第一个正数原来如此简单
    查看>>
    leetcode题解434-字符串中的单词数(双指针经典)
    查看>>
    leetcode题解46-全排列
    查看>>
    leetcode题解48-旋转图像
    查看>>
    leetcode题解50-Pow(x,n)
    查看>>
    leetcode题解53-最大子序和
    查看>>
    leetcode题解538-把二叉搜索树转化为累加树
    查看>>
    leetcode题解54-螺旋矩阵
    查看>>
    leetcode题解56-合并区间
    查看>>
    leetcode题解62-不同路径
    查看>>
    leetcode题解66-加一
    查看>>