C#中DataTable的創(chuàng)建與遍歷實(shí)現(xiàn)
更新時(shí)間:2021年02月26日 10:17:47 作者:pan_junbiao
這篇文章主要介紹了C#中DataTable的創(chuàng)建與遍歷實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
1、創(chuàng)建DataTable對象
/// <summary>
/// 創(chuàng)建DataTable對象
/// </summary>
public static DataTable CreateDataTable()
{
//創(chuàng)建DataTable
DataTable dt = new DataTable("NewDt");
//創(chuàng)建自增長的ID列
DataColumn dc = dt.Columns.Add("ID", Type.GetType("System.Int32"));
dc.AutoIncrement = true; //自動增加
dc.AutoIncrementSeed = 1; //起始為1
dc.AutoIncrementStep = 1; //步長為1
dc.AllowDBNull = false; //非空
//創(chuàng)建其它列表
dt.Columns.Add(new DataColumn("Name", Type.GetType("System.String")));
dt.Columns.Add(new DataColumn("Age", Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("Score", Type.GetType("System.Decimal")));
dt.Columns.Add(new DataColumn("CreateTime", Type.GetType("System.DateTime")));
//創(chuàng)建數(shù)據(jù)
DataRow dr = dt.NewRow();
dr["Name"] = "張三";
dr["Age"] = 28;
dr["Score"] = 85.5;
dr["CreateTime"] = DateTime.Now;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Name"] = "李四";
dr["Age"] = 24;
dr["Score"] = 72;
dr["CreateTime"] = DateTime.Now;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Name"] = "王五";
dr["Age"] = 36;
dr["Score"] = 63.5;
dr["CreateTime"] = DateTime.Now;
dt.Rows.Add(dr);
return dt;
}
2、遍歷DataTable對象
/// <summary>
/// 遍歷DataTable對象,轉(zhuǎn)換成List對象
/// </summary>
public static List<UserInfo> TraverseDataTable(DataTable dt)
{
List<UserInfo> userList = new List<UserInfo>();
//判斷DataTable是否為空
if (dt == null || dt.Rows.Count == 0)
{
return null;
}
//遍歷DataTable對象,轉(zhuǎn)換成List
foreach (DataRow row in dt.Rows)
{
UserInfo user = new UserInfo();
if (dt.Columns.Contains("ID") && !Convert.IsDBNull(row["ID"]))
user.ID = Convert.ToInt32(row["ID"]);
if (dt.Columns.Contains("Name") && !Convert.IsDBNull(row["Name"]))
user.Name = Convert.ToString(row["Name"]);
if (dt.Columns.Contains("Age") && !Convert.IsDBNull(row["Age"]))
user.Age = Convert.ToInt32(row["Age"]);
if (dt.Columns.Contains("Score") && !Convert.IsDBNull(row["Score"]))
user.Score = Convert.ToDouble(row["Score"]);
if (dt.Columns.Contains("CreateTime") && !Convert.IsDBNull(row["CreateTime"]))
user.CreateTime = Convert.ToDateTime(row["CreateTime"]);
userList.Add(user);
}
return userList;
}
其它代碼:
/// <summary>
/// 用戶信息類
/// </summary>
public class UserInfo
{
/// <summary>
/// 編號
/// </summary>
public int ID { get; set; }
/// <summary>
/// 名稱
/// </summary>
public string Name { get; set; }
/// <summary>
/// 年齡
/// </summary>
public int Age { get; set; }
/// <summary>
/// 成績
/// </summary>
public double Score { get; set; }
/// <summary>
/// 創(chuàng)建時(shí)間
/// </summary>
public DateTime CreateTime { get; set; }
}
到此這篇關(guān)于C#中DataTable的創(chuàng)建與遍歷實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)C# DataTable創(chuàng)建與遍歷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Unity實(shí)現(xiàn)旋轉(zhuǎn)扭曲圖像特效
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)旋轉(zhuǎn)扭曲圖像特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
C#中一個(gè)方法返回多個(gè)值的實(shí)現(xiàn)方法小結(jié)
通常一個(gè)方法只能返回一個(gè)值,但是如果在某些時(shí)候,我們想要返回多個(gè)值,例如某個(gè)方法將一個(gè)浮點(diǎn)數(shù)分割成一個(gè)整數(shù)和一個(gè)小數(shù)返回,因此本文給大家介紹了C#中一個(gè)方法返回多個(gè)值的實(shí)現(xiàn)方法及示例代碼,需要的朋友可以參考下2024-05-05
asp.net core mvc權(quán)限控制:在視圖中控制操作權(quán)限
本文主要介紹了asp.net core mvc權(quán)限控制:在視圖中控制操作權(quán)限。具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02
C#實(shí)現(xiàn)拆分合并Word表格中的單元格
我們在使用Word制作表格時(shí),由于表格較為復(fù)雜,只是簡單的插入行、列并不能滿足我們的需要。要做一個(gè)完整的表格,很多時(shí)候需要將單元格進(jìn)行拆分或者合并。本文將詳細(xì)為您介紹在Word表格中拆分或合并單元格的思路及方法,希望對大家有所幫助2022-12-12

