C# DataTable用法 作者:马育民 • 2025-06-25 22:22 • 阅读:10003 # 介绍 是一个临时保存数据的网格虚拟表,表示内存中数据的一个表,是一个二维表,也是一个后台数据源和前台显示之间的适配器 包:`System.Data` # 创建对象 创建一个没有名子的空表 ``` DataTable dt = new DataTable(); ``` 创建一个名为 `user` 的空表 ``` DataTable dt = new DataTable("user"); ``` # 添加列 创建对象后,要添加列 ### 方式一 仅指定列名 ``` DataColumn dc = dt.Columns.Add("name"); ``` ### 方式二 指定列名、类型 ``` DataColumn dc = dt.Columns.Add("ID",Type.GetType("System.Int32")); ``` ### 方式三 通过添加 `DataColumn` 方式实现: ``` // 创建table的第一列 DataColumn priceColumn =new DataColumn(); priceColumn.DataType = System.Type.GetType("System.Decimal");//该列的数据类型 priceColumn.ColumnName ="price";//该列得名称 table.Columns.Add(priceColumn); // 必须有此行代码 ``` # 列属性 ``` dc.DefaultValue =50;//该列得默认值 dc.AutoIncrement =true;//自动增加 dc.AutoIncrementSeed =1;//起始为1 dc.AutoIncrementStep =1;//步长为1 dc.AllowDBNull =false; ``` # 添加行 ### 方式一 添加数组方式 ``` tblDatas.Rows.Add(new object[] { "a", "b", "c" }); ``` ### 方式二 创建 `DataRow` 对象方式 ``` DataRow dr = dt.NewRow(); dt.Rows.Add(dr); // 必须有此行代码,否则没有行记录 ``` 根据列索引指定值 ``` dr[0] = "1"; dr[1] = "张三"; ``` # 删除行 ### 方式一 删除 `DataRow` 对象 ``` dt.Rows.Remove(dt.Rows[0]); ``` ### 方式二 删除行索引 ``` //使用DataTable.Rows.RemoveAt(index)方法 dt.Rows.RemoveAt(0); ``` ### 方式三 ``` //使用DataRow.Delete()方法 dt.Row[0].Delete(); ``` # 遍历行 ``` for(int i = 0 ; i < dt.Rows.Count ; i++) { string strName = dt.Rows[i]["字段名"].ToString(); } ``` ``` foeach(DataRow dr in dt.Rows) { object value = dr["ColumnsName"]; } ``` # 遍历列 ``` foreach(DataRow dr in dt.Rows) { for(int i=0;i 原文出处:http://www.malaoshi.top/show_1GW1NQIghDZz.html