我有一个数据表,可能有更多列。但是“ NetAmount”,“ TotalAmount”,“ Destination”是始终存在于数据表中的数据表列。

在这里,我想从数据表中删除三个列,例如“ NetAmount”,“ TotalAmount”和“ Destination”,并获取数据表中的其他列值。

我尝试如下所示,并获得所需的输出。

  dtAttribute.Columns.Remove("NetAmount"); //dtAttribute is the Main DataTable
  dtAttribute.Columns.Remove("TotalAmount");
  dtAttribute.Columns.Remove("Destination");
  DataTable dtItem = dtAttribute.Copy();


但这看起来很幼稚而且冗长。还有其他方法吗?请给个建议。

最佳答案

您的代码没有任何问题(除了您要在删除列之后复制表,您确定这就是您想要的吗?)。

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

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);

关于c# - 如何使用C#.Net删除更多DataTable列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6775845/

10-13 08:02