Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c#中datarow[]如何转成datatable

作者:当过家家——变成现实。   发布日期:2026-01-14   浏览:95

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"]}");
        }
    }
}

解释说明:

  1. ConvertDataRowsToDataTable 方法:

    • 接受一个 DataRow[] 数组作为参数。
    • 如果传入的 DataRow[] 数组为空,则返回一个空的 DataTable
    • 使用 Clone() 方法复制原始 DataTable 的结构(列定义),但不包含数据。
    • 使用 ImportRow 方法将每个 DataRow 添加到新的 DataTable 中。
  2. Main 方法:

    • 创建一个示例 DataTable 并填充一些数据。
    • 使用 Select() 方法将所有行转换为 DataRow[] 数组。
    • 调用 ConvertDataRowsToDataTable 方法将 DataRow[] 转换为新的 DataTable
    • 最后,遍历新生成的 DataTable 并输出其内容以验证转换是否成功。

上一篇:c# implicit

下一篇:c# 开发

大家都在看

c# 二进制

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#获取系统时间

c#游戏开发

c#网络编程

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站