溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#中如何創(chuàng)建與遍歷DataTable對象

發(fā)布時間:2021-02-26 14:25:49 來源:億速云 閱讀:306 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下C#中如何創(chuàng)建與遍歷DataTable對象,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

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)建時間
  /// </summary>
  public DateTime CreateTime { get; set; }
}

以上是“C#中如何創(chuàng)建與遍歷DataTable對象”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI