下面我们来详细讲解一下“C#从DataTable中获取数据的方法”的完整攻略,包括以下几个内容:
- DataTable 简介
- 从 DataTable 中获取数据的方法
- 代码示例说明
1. DataTable 简介
DataTable 是 System.Data 命名空间中的一个类,代表一个内存中的数据表格,其中包含了行和列等各种数据信息,可用于存储和处理数据。
2. 从 DataTable 中获取数据的方法
有多种方法可以从 DataTable 中获取数据,这里介绍其中比较常用的三种方式:DataTable.Rows、DataTable.Select 和 DataTable.Compute。
2.1 DataTable.Rows
使用 DataTable.Rows 属性可以获取 DataTable 中所包含的行。
示例代码:
DataTable dt = new DataTable();
// 添加列
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
// 添加数据
dt.Rows.Add("Tom", 18);
dt.Rows.Add("Jerry", 20);
// 遍历 DataTable 所有行
foreach (DataRow row in dt.Rows)
{
Console.WriteLine("Name: {0}, Age: {1}", row["Name"], row["Age"]);
}
2.2 DataTable.Select
使用 DataTable.Select 方法可以根据筛选条件从 DataTable 中筛选数据。
示例代码:
DataTable dt = new DataTable();
// 添加列
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
// 添加数据
dt.Rows.Add("Tom", 18);
dt.Rows.Add("Jerry", 20);
// 查询年龄大于等于 20 的数据
DataRow[] rows = dt.Select("Age >= 20");
foreach (DataRow row in rows)
{
Console.WriteLine("Name: {0}, Age: {1}", row["Name"], row["Age"]);
}
2.3 DataTable.Compute
使用 DataTable.Compute 方法可以对 DataTable 中的数据进行聚合计算,如求和、平均值等。
示例代码:
DataTable dt = new DataTable();
// 添加列
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
// 添加数据
dt.Rows.Add("Tom", 18);
dt.Rows.Add("Jerry", 20);
// 计算年龄的平均值
object avgAge = dt.Compute("AVG(Age)", "");
Console.WriteLine("Avg Age: {0}", avgAge);
3. 代码示例说明
我们定义一个 DataTable,其中包含两个列:Name 和 Age,然后分别使用上述三种方法遍历、筛选和聚合查询 DataTable 的数据。代码如下:
DataTable dt = new DataTable();
// 添加列
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
// 添加数据
dt.Rows.Add("Tom", 18);
dt.Rows.Add("Jerry", 20);
// 遍历 DataTable 所有行
Console.WriteLine("All Rows: ");
foreach (DataRow row in dt.Rows)
{
Console.WriteLine("Name: {0}, Age: {1}", row["Name"], row["Age"]);
}
// 查询年龄大于等于 20 的数据
Console.WriteLine("Age >= 20:");
DataRow[] rows = dt.Select("Age >= 20");
foreach (DataRow row in rows)
{
Console.WriteLine("Name: {0}, Age: {1}", row["Name"], row["Age"]);
}
// 计算年龄的平均值
object avgAge = dt.Compute("AVG(Age)", "");
Console.WriteLine("Avg Age: {0}", avgAge);
以上代码的输出结果为:
All Rows:
Name: Tom, Age: 18
Name: Jerry, Age: 20
Age >= 20:
Name: Jerry, Age: 20
Avg Age: 19
因此可以看出,我们通过 DataTable.Rows、DataTable.Select 和 DataTable.Compute 三种方法,分别实现了遍历、筛选和聚合查询 DataTable 的数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#从DataTable获取数据的方法 - Python技术站