C# 使用所需的列配置将Datatable1值复制到Datatable2

C# 使用所需的列配置将Datatable1值复制到Datatable2,c#,datatable,ado.net,console-application,C#,Datatable,Ado.net,Console Application,仅针对特定列将数据从Datatable1复制到Datattable2。我有一个方法,将列vlaues和Datatable的列表作为输入。我需要从输入数据表中获取所有列,并复制到新的数据表 /*Input: columnNames in list : column1,column2,column3 datatable1 : column1,column2,column5,column6,column3 Output: datatble2 : column1,column2,column3 (col

仅针对特定列将数据从Datatable1复制到Datattable2。我有一个方法,将列vlaues和Datatable的列表作为输入。我需要从输入数据表中获取所有列,并复制到新的数据表

/*Input:
columnNames in list : column1,column2,column3
datatable1 : column1,column2,column5,column6,column3
Output:
datatble2 : column1,column2,column3 (columns from list need to be copied from datatble1 to datatble2 and return datatble2)
*/
public DataTable CopyFromDatatbale(List<string> columnNames,DataTable datatable1)
{
             DataTable datatble2=new DataTable();
             /*
               Code to copy the data from datatable1 to datatble2 with specific columns
             */

}
/*输入:
列表中的列名称:列1、列2、列3
数据表1:column1,column2,column5,column6,column3
输出:
datatble2:column1、column2、column3(列表中的列需要从datatble1复制到datatble2并返回datatble2)
*/
公共DataTable CopyFromDatatbale(列出列名称,DataTable datatable1)
{
DataTable datatble2=新的DataTable();
/*
使用特定列将数据从datatable1复制到datatble2的代码
*/
}

这是我正在寻找的代码…将指定列的数据从DataTable1复制到DataTable2。最后,在DataTable2中,我拥有datatble1中的所有列(仅特定列)


您的问题是什么?将列从具有许多列的datatable复制到仅具有指定列的新datatable
//Copy Columns from Datatable1 to Datatble2 based on columns on columnList
            DataView dtView = new DataView(dataTable1);
            DataTable dataTable2= new DataTable();
            var getColumnNamesCommaSeperated = columnList.Select(x => x.columnNames).ToArray();
            dataTable2= dataTable1.Select().CopyToDataTable()
                .DefaultView.ToTable(false, getColumnNamesCommaSeperated);