Если вы хотите, чтобы вы не могли использовать Add
для передачи значений, но вы можете использовать SetField
:
for(int i = 0; i < dt.Rows.Count; i++)
{
DataRow addedRow = newdt.Rows.Add();
addedRow.SetField(1, dt.Rows[i][1]);
}
Или вы можете использовать «классический» способ:
addedRow[1] = dt.Rows[i][1];
Я предпочитаю SetField
индексатору, потому что мне не нужно возиться с DbNull.Value
, если я хочу сохранить нулевые значения. Вы можете просто передать обнуляемый тип, например int?
.