【发布时间】:2013-11-26 08:23:36
【问题描述】:
使用 LINQ:
如何在不知道列名或类型的情况下迭代表的列并排除等于零的列?
谢谢!
【问题讨论】:
-
出于什么目的?我怀疑这种字段级过滤(与记录级过滤相反)应该在 UI 而不是 DAL 中进行...
-
没有数据库访问权限,我正在获取传入的数据集。
标签: linq sum datacolumn
使用 LINQ:
如何在不知道列名或类型的情况下迭代表的列并排除等于零的列?
谢谢!
【问题讨论】:
标签: linq sum datacolumn
想通了:
string[] columnNames = dt.Columns.Cast<DataColumn>()
.Select(x => x.ColumnName)
.ToArray();
List<string> cols = new List<string>();
int n;
foreach (string cn in columnNames)
{
if (dt.AsEnumerable().Where(s => int.TryParse(s[cn].ToString(), out n)).Sum(s => Convert.ToInt32(s[cn])) > 0)
{
cols.Add(cn);
}
}
【讨论】: