好的,我来给你详细讲解 C# 中 DataTable
的用法,适合初学者到中级开发者理解和使用。
DataTable
是 .NET 中用于在内存中存储数据的表格对象,类似 Excel 表格或数据库中的一张表。
常用于:
命名空间:
using System.Data;
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
用于添加数据行foreach (DataRow row in table.Rows)
{
Console.WriteLine($"Id: {row["Id"]}, Name: {row["Name"]}, Age: {row["Age"]}");
}
for (int i = 0; i < table.Rows.Count; i++)
{
Console.WriteLine($"{table.Rows[i][0]}, {table.Rows[i][1]}, {table.Rows[i][2]}");
}
DataRow[] result = table.Select("Age > 20");
foreach (DataRow row in result)
{
Console.WriteLine($"{row["Name"]} - {row["Age"]}");
}
Select
返回 符合条件的 DataRow 数组Age > 20 AND Name='Alice'
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"]}");
}
// 删除 Name 为 "Bob" 的行
DataRow[] rowsToDelete = table.Select("Name='Bob'");
foreach (DataRow row in rowsToDelete)
{
table.Rows.Remove(row);
}
DataRow rowToUpdate = table.Select("Name='Alice'")[0];
rowToUpdate["Age"] = 23; // 修改 Age
DataTable cloneTable = table.Clone();
DataTable copyTable = table.Copy();
dataGridView1.DataSource = table;
DataTable
可以直接绑定到 DataGridView、GridView 等控件方法 | 说明 |
---|---|
Clear() | 清空所有行 |
AcceptChanges() | 提交所有更改 |
RejectChanges() | 撤销所有未提交的更改 |
NewRow() | 创建新行对象 |
ImportRow(DataRow row) | 导入另一张 DataTable 的行 |
DataTable
是 内存数据表,支持添加列、行、查询、修改和删除Select
)和 LINQ 查询https://www.52runoob.com/archives/6669
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。