.net 可以将类型化的行添加到新的(空)数据 table 吗?

.net can I add a typed row to a new (empty) data table?

我想根据来自另一个 table 的行创建一个新的 table。在下面的示例中,_DataRow 是 class.

Private 变量

这样可行吗,还是需要先定义数据的列table?

vb.net

中的示例
Public Sub CreateDataTableFromTypedRow()
    Dim dt As New DataTable
    dt.Rows.Add(_DataRow)
End Sub

C# 示例

public void CreateDataTableFromTypedRow()
{
    DataTable dt = new DataTable;
    dt.Rows.Add(_DataRow);
}

克隆 DataTable 并将现有行的 ItemArray 添加到其中:

DataRow dr = _DataRow;
DataTable dt = dr.Table.Clone();
dt.Rows.Add(dr.ItemArray);

如前所述,另一种解决方案可以是:

DataTable dt = _DataRow.Table.Copy();

因为 Copy() 方法将克隆 table 并将行复制到 table。