首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >DataTable 基础

DataTable 基础

原创
作者头像
用户3672714
发布2025-09-04 15:30:41
发布2025-09-04 15:30:41
8100
代码可运行
举报
运行总次数:0
代码可运行

好的,我来给你详细讲解 C# 中 DataTable 的用法,适合初学者到中级开发者理解和使用。


🔹 DataTable 基础

DataTable.NET 中用于在内存中存储数据的表格对象,类似 Excel 表格或数据库中的一张表。 常用于:

  • 临时存储数据
  • 数据绑定到控件(如 GridView)
  • 处理数据库查询结果

命名空间:

代码语言:javascript
代码运行次数:0
运行
复制
using System.Data;

1. 创建 DataTable

代码语言:javascript
代码运行次数:0
运行
复制
DataTable table = new DataTable("Students");

// 添加列
table.Columns.Add("Id", typeof(int));
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Age", typeof(int));

// 添加行
table.Rows.Add(1, "Tom", 20);
table.Rows.Add(2, "Alice", 22);
table.Rows.Add(3, "Bob", 21);
  • Columns.Add 用于定义列
  • Rows.Add 用于添加数据行

2. 遍历 DataTable

方式一:遍历每一行

代码语言:javascript
代码运行次数:0
运行
复制
foreach (DataRow row in table.Rows)
{
    Console.WriteLine($"Id: {row["Id"]}, Name: {row["Name"]}, Age: {row["Age"]}");
}

方式二:按索引访问

代码语言:javascript
代码运行次数:0
运行
复制
for (int i = 0; i < table.Rows.Count; i++)
{
    Console.WriteLine($"{table.Rows[i][0]}, {table.Rows[i][1]}, {table.Rows[i][2]}");
}

3. 查询 DataTable

3.1 使用 Select 方法

代码语言:javascript
代码运行次数:0
运行
复制
DataRow[] result = table.Select("Age > 20");

foreach (DataRow row in result)
{
    Console.WriteLine($"{row["Name"]} - {row["Age"]}");
}
  • Select 返回 符合条件的 DataRow 数组
  • 条件语法类似 SQL,比如 Age > 20 AND Name='Alice'

3.2 使用 LINQ 查询

代码语言:javascript
代码运行次数:0
运行
复制
using System.Linq;

var query = from DataRow row in table.Rows
            where (int)row["Age"] > 20
            select row;

foreach (var row in query)
{
    Console.WriteLine($"{row["Name"]} - {row["Age"]}");
}

4. 删除和修改行

4.1 删除行

代码语言:javascript
代码运行次数:0
运行
复制
// 删除 Name 为 "Bob" 的行
DataRow[] rowsToDelete = table.Select("Name='Bob'");
foreach (DataRow row in rowsToDelete)
{
    table.Rows.Remove(row);
}

4.2 修改行

代码语言:javascript
代码运行次数:0
运行
复制
DataRow rowToUpdate = table.Select("Name='Alice'")[0];
rowToUpdate["Age"] = 23; // 修改 Age

5. 克隆和复制 DataTable

克隆结构(不含数据)

代码语言:javascript
代码运行次数:0
运行
复制
DataTable cloneTable = table.Clone();

复制整个表(含数据)

代码语言:javascript
代码运行次数:0
运行
复制
DataTable copyTable = table.Copy();

6. 数据绑定

Windows Forms 示例

代码语言:javascript
代码运行次数:0
运行
复制
dataGridView1.DataSource = table;
  • DataTable 可以直接绑定到 DataGridView、GridView 等控件
  • 界面会显示表格内容

7. 其它常用方法

方法

说明

Clear()

清空所有行

AcceptChanges()

提交所有更改

RejectChanges()

撤销所有未提交的更改

NewRow()

创建新行对象

ImportRow(DataRow row)

导入另一张 DataTable 的行


✅ 总结

  • DataTable内存数据表,支持添加列、行、查询、修改和删除
  • 支持 SQL 风格查询Select)和 LINQ 查询
  • 可以直接 绑定到界面控件 显示
  • 常用于 数据库中间缓存、数据处理和 UI 显示

https://www.52runoob.com/archives/6669

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🔹 DataTable 基础
    • 1. 创建 DataTable
    • 2. 遍历 DataTable
      • 方式一:遍历每一行
      • 方式二:按索引访问
    • 3. 查询 DataTable
      • 3.1 使用 Select 方法
      • 3.2 使用 LINQ 查询
    • 4. 删除和修改行
      • 4.1 删除行
      • 4.2 修改行
    • 5. 克隆和复制 DataTable
      • 克隆结构(不含数据)
      • 复制整个表(含数据)
    • 6. 数据绑定
      • Windows Forms 示例
    • 7. 其它常用方法
      • ✅ 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档