如何将数据行转换为对象数组?

时间:2018-08-02 19:27:09

标签: c# arrays datarow

我有一个数据行,我想将其放入对象数组,因为要将其添加到我的数据表中,我需要一个对象数组。我到目前为止所做的就是这个...

data_table.Rows.Add(data_row.ToArray<object>());

但是这不起作用,因为它没有给出对象数组,至少那是我的编译器告诉我的

2 个答案:

答案 0 :(得分:2)

您可以在ItemArray类型上使用DataRow属性。

object[] arr = data_row.ItemArray;

答案 1 :(得分:0)

您总是可以像这样对DataRow进行扩展:

public static class DataRowExtension 
{
    // Class for: Conversion to object[]
    public static object[] ToObjectArray(this DataRow dataRow)
    {
        // Identifiers used are:
        int columnCount = dataRow.Table.Columns.Count;
        object[] objectArray = new object[columnCount];

        // Check the row is not empty
        if (columnCount == 0)
        {
            return null;
        }

        // Go through the row to add each element to the array
        for (int i = 0; i < columnCount; i++)
        {
            objectArray[i] = dataRow[i];
        }

        // Return the object array
        return objectArray;
    }
}

扩展方法很棒。