Я хочу присвоить DataTable
( dataTable1 ) другому DataTable
( dataTable2 ) и удалить некоторые столбцы в последнем DataTable
.Например, у меня есть следующий код:
DataTable dataTable2 = dataTable1;
dataTable2.Columns.Remove("column1");
dataTable2.Columns.Remove("column2");
Оказывается, что и DataTable
( dataTable1 и dataTable2 ) удаляют столбцы.Я не понимаю, почему для dataTable1 также удаляются column1 и column2 , а я удаляю только столбцы в dataTable2 .
[ИЗМЕНЕНО - с ответом]
Следует использовать Clone()
И ImportRow()
вместо назначения указателя.
DataTable dataTable2 = dataTable1.Clone()
for (int i = 0; i < dataTable1.Rows.Count; i++)
{
dataTable2.ImportRow(dataTable1.Rows[i]);
}