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

How to convert a data row into an object array?

我有一个数据行,我想将其放入对象数组,因为要将其添加到我的数据中 table 我需要一个对象数组。我现在补的是这个...

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

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

您总是可以像这样为 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;
    }
}

扩展方法很棒。

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

object[] arr = data_row.ItemArray;