广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#对DataTable中的某列进行分组
  • 874
分享到

C#对DataTable中的某列进行分组

2024-04-02 19:04:59 874人浏览 安东尼
摘要

有时候我们从数据库中查询出来数据之后,需要按照DataTable的某列进行分组,可以使用下面的方法实现,代码如下: using System; using System.Collec

有时候我们从数据库中查询出来数据之后,需要按照DataTable的某列进行分组,可以使用下面的方法实现,代码如下:

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataTableGroupDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // 准备数据
            DataTable dt = new DataTable();
            // 创建列
            DataColumn dcName = new DataColumn("Name", typeof(string));
            DataColumn dcAge = new DataColumn("Age", typeof(Int32));
            DataColumn dcScore = new DataColumn("Score", typeof(Int32));
            // 添加列
            dt.Columns.Add(dcName);
            dt.Columns.Add(dcAge);
            dt.Columns.Add(dcScore);
            // 添加数据
            dt.Rows.Add(new object[] { "Tom", 23, 67 });
            dt.Rows.Add(new object[] { "Tom", 23, 67 });
            dt.Rows.Add(new object[] { "Jack", 21, 100 });
            dt.Rows.Add(new object[] { "Greey", 24, 56 });
            dt.Rows.Add(new object[] { "Kevin", 24, 77 });
            dt.Rows.Add(new object[] { "Tom", 23, 82 });
            dt.Rows.Add(new object[] { "Greey", 24, 80 });
            dt.Rows.Add(new object[] { "Jack", 21, 90 });


            #region 使用Linq expression to DataTable group by
            var query = from p in dt.AsEnumerable()
                        group p by new { name = p.Field<string>("Name"),score=p.Field<Int32>("Score") } into m
                        select new
                        {
                            Name = m.Key.name,
                            Score=m.Key.score
                        };
            #endregion

            // 输出
            Console.WriteLine("Linq");
            foreach (var item in query)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("GroupBy");
            IEnumerable<IGrouping<string, DataRow>> result = dt.Rows.Cast<DataRow>().GroupBy<DataRow, string>(dr => dr["Name"].ToString());
            foreach (IGrouping<string, DataRow> ig in result)
            {
                Console.WriteLine("key=" + ig.Key + ":");
                foreach (DataRow dr in ig)
                {                   
                    Console.WriteLine(dr["Name"].ToString().PadRight(10) + dr["Age"].ToString().PadRight(10) + dr["Score"].ToString().PadRight(10));
                }
                    

            }

            Console.ReadKey();
        }
    }
}

程序运行效果

到此这篇关于C#对DataTable某列进行分组的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#对DataTable中的某列进行分组

本文链接: https://www.lsjlt.com/news/143011.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#对DataTable中的某列进行分组
    有时候我们从数据库中查询出来数据之后,需要按照DataTable的某列进行分组,可以使用下面的方法实现,代码如下: using System; using System.Collec...
    99+
    2022-11-13
  • python中pandas对多列进行分组统计的实现
    使用groupby([ ]).size()统计的结果,值相同的字段值会不显示 如上图所示,第一个空着的行是982499 7 3388 1,因为此行与前面一行的这两个字段值是一样...
    99+
    2022-11-12
  • C#中怎么使用datagridview获取某行某列的值
    在C#中,可以使用DataGridView的Rows和Columns属性来获取指定行和列的值。首先,使用Rows属性获取指定行的Da...
    99+
    2023-09-27
    C#
  • 使用C中的列对ListView进行排序
    在C中使用List View进行排序的方法如下:1. 首先,定义一个callback函数来进行比较排序。该函数可以根据需要自定义比较...
    99+
    2023-09-07
    C
  • C#如何对扩展进行分组管理
    本篇内容主要讲解“C#如何对扩展进行分组管理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#如何对扩展进行分组管理”吧!从系列文章开篇到现在,已经实现的很多扩展了,但过多的扩展会给我们带来很多...
    99+
    2023-06-17
  • 【Java 8 新特性】获取对象列表中的某个属性组成的列表
    文章目录 获取对象列表中的某个属性组成的列表1、用法示例2、详细案例 附录:Java 8 Stream 基本用法1、map2、filter3、forEach4、limit5、sort...
    99+
    2023-10-04
    java jvm servlet
  • 使用C#中的Array.Sort函数对数组进行排序
    标题:C#中使用Array.Sort函数对数组进行排序的示例正文:在C#中,数组是一种常用的数据结构,经常需要对数组进行排序操作。C#提供了Array类,其中有Sort方法可以方便地对数组进行排序。本文将演示如何使用C#中的Array.So...
    99+
    2023-11-18
    C# Array sort
  • 如何使用C#中的List.Sort函数对列表进行排序
    如何使用C#中的List.Sort函数对列表进行排序在C#编程语言中,我们经常需要对列表进行排序操作。而List类的Sort函数正是为此设计的一个强大工具。本文将介绍如何使用C#中的List.Sort函数对列表进行排序,并提供具体的代码示例...
    99+
    2023-11-17
    C# list sort
  • C语言怎么实现对结构体数组按照某项规则进行排序
    这篇文章主要讲解了“C语言怎么实现对结构体数组按照某项规则进行排序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言怎么实现对结构体数组按照某项规则进行排序”吧!一、qsort()函数vo...
    99+
    2023-07-05
  • HTML中如何对选择器进行分组
    本篇内容主要讲解“HTML中如何对选择器进行分组”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML中如何对选择器进行分组”吧! 文档中所有元素的一个分组...
    99+
    2022-10-19
  • 怎么在python中对列表进行分片操作
    今天就跟大家聊聊有关怎么在python中对列表进行分片操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt...
    99+
    2023-06-14
  • C语言对结构体数组按照某项规则进行排序的实现过程探究
    目录前言一、qsort()函数二、compare()函数1.结构体数组2.整型数组3.浮点型数组三、效果图总结这是基于qsort()函数进行的简单排序。(附带其他类型的数组使用qso...
    99+
    2023-02-01
    C语言数组排序 C语言结构体数组排序
  • List集合按某个属性或者字段进行分组的示例分析
    这篇文章给大家分享的是有关List集合按某个属性或者字段进行分组的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。List集合按某个属性或者字段进行分组List<Object>分组 按照Stud...
    99+
    2023-06-15
  • List集合按某个属性或者字段进行分组的操作
    List集合按某个属性或者字段进行分组 List<Object>分组 按照Student对象中的Institution(学院)属性进行分组统计 核心代码 Map<...
    99+
    2022-11-12
  • Python中对元组和列表按条件进行排序的方法示例
    在python中对一个元组排序 我的同事Axel Hecht 给我展示了一些我所不知道的关于python排序的东西。 在python里你可以对一个元组进行排序。例子是最好的说明: >>>...
    99+
    2022-06-04
    示例 中对 条件
  • python如何对列表中的元素进行排序
    这篇文章主要介绍了python如何对列表中的元素进行排序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示例:# sort:排序,对...
    99+
    2022-10-19
  • python如何对列表中的元素进行反转
    这篇文章主要为大家展示了“python如何对列表中的元素进行反转”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何对列表中的元素进行反转”这篇文章吧...
    99+
    2022-10-19
  • PHP中对数组进行排序的方法
    这篇文章主要介绍PHP中对数组进行排序的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法...
    99+
    2023-06-14
  • 怎么进行C语言中数组的使用
    怎么进行C语言中数组的使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1 数组的基本概念数组:类型相同的数据元素的集合,是C语言中的一种构造数据类型。这些元素会顺序地存储在内...
    99+
    2023-06-22
  • SQL对取值范围进行分组汇总的几种办法
    SQL对取值范围进行分组汇总的几种办法在统计工作中,我们经常遇到对一个数量的取值范围进行分组汇总的情况,比如假定id取值为1~20000,按照组距5000进行分组,我们要分别求出5000以下包括5000,5...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作