c#对DataTable中的行进行计数,其中row的所有值均等于1

时间:2018-09-06 13:46:25

标签: c#

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

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

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

我只希望对每列中包含1的行进行计数。因此,上面的示例将返回2。

1 个答案:

答案 0 :(得分:1)

遍历行和列:

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