欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#對DataTable中的某列進行分組

 更新時間:2022年03月18日 11:30:04   作者:.NET開發(fā)菜鳥  
這篇文章介紹了C#對DataTable某列進行分組的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

有時候我們從數(shù)據(jù)庫中查詢出來數(shù)據(jù)之后,需要按照DataTable的某列進行分組,可以使用下面的方法實現(xiàn),代碼如下:

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)
        {
            // 準備數(shù)據(jù)
            DataTable dt = new DataTable();
            // 創(chuàng)建列
            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);
            // 添加數(shù)據(jù)
            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();
        }
    }
}

程序運行效果

到此這篇關(guān)于C#對DataTable某列進行分組的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#折線圖控件使用方法詳解

    C#折線圖控件使用方法詳解

    這篇文章主要為大家詳細介紹了C#折線圖控件的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#中Json反序列化的實現(xiàn)方法

    C#中Json反序列化的實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于C#中Json反序列化的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧
    2018-06-06
  • C#讀取文本文件到listbox組件的方法

    C#讀取文本文件到listbox組件的方法

    這篇文章主要介紹了C#讀取文本文件到listbox組件的方法,涉及C#操作文本文件及l(fā)istbox組件的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • C#基于Aspose.PDF實現(xiàn)PDF轉(zhuǎn)Word工具

    C#基于Aspose.PDF實現(xiàn)PDF轉(zhuǎn)Word工具

    這篇文章主要為大家介紹了C#如何基于Aspose.PDF庫,實現(xiàn)PDF文件轉(zhuǎn)為Word(DOC/DOCX)格式的功能,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-11-11
  • C#中Sleep() 和 Wait()的區(qū)別小結(jié)

    C#中Sleep() 和 Wait()的區(qū)別小結(jié)

    Sleep()和 Wait()是兩個不同的方法,用于控制線程的執(zhí)行,本文主要介紹了C#中Sleep()和Wait()的區(qū)別小結(jié),具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • winform把Office轉(zhuǎn)成PDF文件

    winform把Office轉(zhuǎn)成PDF文件

    這篇文章介紹了winform把Office轉(zhuǎn)成PDF文件的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • c# 生成二維碼的示例

    c# 生成二維碼的示例

    這篇文章主要介紹了c# 生成二維碼的示例,幫助大家更好的理解和使用c#編程語言,感興趣的朋友可以了解下
    2020-11-11
  • C#中GDI+繪制圓弧及圓角矩形等比縮放的繪制

    C#中GDI+繪制圓弧及圓角矩形等比縮放的繪制

    這篇文章主要介紹了C#中GDI+繪制圓弧及圓角矩形等比縮放的繪制,文章圍繞主題展開詳細的內(nèi)容戒殺,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • C#使用Automation實現(xiàn)控制自動撥打接聽電話

    C#使用Automation實現(xiàn)控制自動撥打接聽電話

    這篇文章主要為大家詳細介紹了C#如何使用Automation實現(xiàn)控制自動撥打接聽電話,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-02-02
  • C# 中的委托與事件機制詳解

    C# 中的委托與事件機制詳解

    本文詳細介紹了C#中委托和事件的概念、使用方法和應用場景,包括委托定義、匿名方法、Lambda表達式、事件機制和多播委托的詳細說明,委托作為類型安全的函數(shù)指針,文章還探討了如何通過匿名方法和Lambda表達式簡化委托的使用,以及多播委托在事件處理中的應用
    2024-10-10

最新評論