C# 数据表(DataTable)间复制数据行

在做产品搜索结果列表页时遇到的问题,2个结构一样的数据表,获取到的数据,需要合并,同时要进行排序,这里遇到了两个DataTable之间的数据合并,以及DataTable之间的数据复制,直接上代码:

///1.数据表之间的数据行复制:
DataTable dt;
DataTable newdt;

for(int i = 0;i<dt.Rows.Count;i++)
{
newdt.Rows.Add(dt.Rows[i].ItemArray);
}

//或
for(int i = 0;i<dt.Rows.Count;i++)
{
newdt.ImportRow(dt.Rows[i]);
}
///2.相同数据结构的数据表合并
/// <summary>
/// 合并结构相同的DATATable中的数据
/// </summary>
/// <param name="dt1"></param>
/// <param name="dt2"></param>
/// <returns></returns>
public DataTable CombineTheSameDatatable(DataTable dt1, DataTable dt2)
{
    if ((dt1 == null && dt2 == null) || (dt1.Rows.Count == 0 && dt2.Rows.Count == 0))
    {
        return new DataTable();
    }
    if (dt1 == null || dt1.Rows.Count == 0)
    {
        return dt2;
    }
    if (dt2 == null || dt2.Rows.Count == 0)
    {
        return dt1;
    }
    DataSet ds = new DataSet();
    if (dt1.Rows.Count > 0)
        ds.Tables.Add(dt1.Copy());
    ds.Merge(dt2.Copy());
    return ds.Tables[0];
}