c#计算DataTable中的行,其中所有行的值等于1

问题描述 投票:-3回答:1

我有一个数据表,其中的列和行是在运行时创建的,因此列名称可能会有所不同,行号也会有所不同。每个单元格的值只能是1或0。

我可能会得到一个数据表,例如3列。例如

Age | Sex | Location
-------------------
1   | 0   | 1
-------------------
0   | 1   | 0
--------------------
1   | 1   | 1
--------------------
0   | 1   | 0
--------------------
1   | 1   | 1
--------------------

我希望能够只计算每列包含1的行。所以上面的例子将返回2。

c#
1个回答
1
投票

遍历行和列:

int rows = 0;
foreach (DataRow row in dt.Rows)
    if (!dt.Columns.Cast<DataColumn>().Any(x => row[x.ColumnName]?.ToString() != "1"))
        rows++;