如何使用C#.Net删除更多DataTable列?

the*_*van 1 c# asp.net datatable visual-studio-2008

我有一个DataTable可能有更多的列.但是"NetAmount","TotalAmount","Destination"是始终存在于DataTable中的DataTable列.

在这里,我想从DataTable中删除三个列,例如"NetAmount","TotalAmount"和"Destination",并获取DataTable中的其他列值.

我试着像下面那样获得所需的输出.

  dtAttribute.Columns.Remove("NetAmount"); //dtAttribute is the Main DataTable
  dtAttribute.Columns.Remove("TotalAmount");
  dtAttribute.Columns.Remove("Destination");
  DataTable dtItem = dtAttribute.Copy();      
Run Code Online (Sandbox Code Playgroud)

但它看起来很幼稚和冗长.还有其他方法吗?请给出建议.

Hei*_*nzi 7

您的代码没有任何问题(除了您删除列复制表格- 您确定这是您想要的吗?).

如果您想要更抽象的东西(而不是一次又一次地重复相同的行),您可以考虑删除循环中的列:

var dtItem = dtAttribute.Copy();    // if you want to keep a copy of the original table

var toRemove = new string[] {"NetAmount", "TotalAmount", "Destination"};
foreach (col in toRemove)
    dtItem.Columns.Remove(col);
Run Code Online (Sandbox Code Playgroud)