using System;
using System.Data;
public class DataRowToDataTableExample
{
public static DataTable ConvertDataRowsToDataTable(DataRow[] dataRows)
{
// 如果输入的DataRow数组为空,返回一个新的空的DataTable
if (dataRows == null || dataRows.Length == 0)
{
return new DataTable();
}
// 获取第一个DataRow的表格结构
DataTable table = dataRows[0].Table.Clone();
// 将每个DataRow添加到新的DataTable中
foreach (DataRow row in dataRows)
{
table.ImportRow(row);
}
return table;
}
public static void Main()
{
// 创建一个示例DataTable并填充数据
DataTable originalTable = new DataTable();
originalTable.Columns.Add("ID", typeof(int));
originalTable.Columns.Add("Name", typeof(string));
originalTable.Rows.Add(1, "Alice");
originalTable.Rows.Add(2, "Bob");
originalTable.Rows.Add(3, "Charlie");
// 将所有行转换为DataRow数组
DataRow[] dataRows = originalTable.Select();
// 调用方法将DataRow数组转换为DataTable
DataTable newTable = ConvertDataRowsToDataTable(dataRows);
// 输出结果以验证转换是否成功
foreach (DataRow row in newTable.Rows)
{
Console.WriteLine($"{row["ID"]} - {row["Name"]}");
}
}
}
ConvertDataRowsToDataTable 方法:
DataRow[] 数组作为参数。DataRow[] 数组为空,则返回一个空的 DataTable。Clone() 方法复制原始 DataTable 的结构(列定义),但不包含数据。ImportRow 方法将每个 DataRow 添加到新的 DataTable 中。Main 方法:
DataTable 并填充一些数据。Select() 方法将所有行转换为 DataRow[] 数组。ConvertDataRowsToDataTable 方法将 DataRow[] 转换为新的 DataTable。DataTable 并输出其内容以验证转换是否成功。上一篇:c# implicit
下一篇:c# 开发
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站