从数组转换为数据表

时间:2013-05-17 08:55:22

标签: c# ado.net datatable

我的要求是我想将一堆数组转换为数据表。一个数据相关的一个数组,所有数据表都在数据集中。似乎要求很简单。但困难的是阵列的维数不稳定。它意味着可能包含一个维度数组,并且可能包含二维数组。所以我想用一个函数来处理两种情况。

目前,我的解决方案是使用重载来处理这种情况。看起来有点沉重。

我定义了两个泛型方法,一个负责转换一个维数组,另一个负责转换二维数组。

public DataTable GenerateTable<T>(T[,] array2Dim)

public DataTable GenerateTable<T>(T[] array1Dim)

因为数组的类型可能不同,所以我在这两种方法中使用泛型。我知道这不是优化操作方式。所以我想知道是否有更统一的方式处理这种情况。

1 个答案:

答案 0 :(得分:2)

为什么不迭代你的DataRow数组并添加(如果需要,使用DataRow.ImportRow来获取DataRow的副本),例如:

 foreach (DataRow row in rowArray) {
       dataTable.ImportRow(row);
    }

确保您的dataTable与DataRow数组中的DataRows具有相同的架构。

快乐编码......