gpt4 book ai didi

c# - 从 DataTable 中删除所有没有数据的列

转载 作者:可可西里 更新时间:2023-11-01 08:31:20 26 4
gpt4 key购买 nike

如果特定列的所有项目都是空的,我想从 DataTable 中删除该列。对 DataTable 中的所有列执行此操作的最优雅方法是什么?

最佳答案

您可以使用 Compute方法,像这样:

if (table.Compute("COUNT(ColumnName)", "ColumnName <> NULL") == 0)
table.Columns.Remove("ColumnName");

或者,您可以使用 LINQ:

if (table.AsEnumerable().All(dr => dr.IsNull("ColumnName")))
table.Columns.Remove("ColumnName");

编辑:要完整回答问题:

foreach(var column in table.Columns.Cast<DataColumn>().ToArray()) {
if (table.AsEnumerable().All(dr => dr.IsNull(column)))
table.Columns.Remove(column);
}

您需要调用 ToArray,因为循环会修改集合。

关于c# - 从 DataTable 中删除所有没有数据的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1766902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com