我有一个名为ContainerTitle
的DataTable。我想获得DataTable中ContainerTitle
具有特定值的行数。例如,假设DataTable有16行ContainerTitle = "Widget1"
和10行ContainerTitle = "Widget2"
。我想查询以获取ContainerTitle = "Widget1"
的行数。稍后,当完成处理这些行时,我想获得ContainerTitle = "Widget2"
行的计数。我无法弄清楚如何计算。
到目前为止,我已经提出了代码在数据行中递增的内容:
for(int i=0;i<dt.Rows.Count;i++)
{
DataRow dr = dt.Rows[i];
szContainerName = dr["ContainerTitle"].ToString();
// here is where I am attempting to get the count
var tst = dt.AsEnumerable().Where(p => p.Field<string>("ContainerTitle") == szContainerName );
.
.
.
if (szContainerName != szPrevContainerName)
{
szPrevContainerName= szContainerName ;
}
}
答案 0 :(得分:4)
Count
会接受谓词,你可以像:
var count = dt
.AsEnumerable()
.Count(p => p.Field<string>("ContainerTitle") == szContainerName );
您还可以将Count
添加到where子句中,如:
var count = dt
.AsEnumerable()
.Where(p => p.Field<string>("ContainerTitle") == szContainerName );
.Count();