我有一个数据表,可能有更多列。但是“ 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/