如何使用c#从dataTable中实现Count(Distinct{x})
本文关键字:Distinct Count 实现 何使用 dataTable | 更新日期: 2023-09-27 18:28:39
我想找出DataTable特定列的不同值的计数,并将结果存储在列表框中。
目前,我有代码来提取DataTable列的不同值,并将其存储在ListBox中,如下所示:-
var ids = dt.AsEnumerable()
.Select(s => new
{
EventID = s.Field<Int32>("ID"),
})
.Distinct().ToList();
listBox.DataSource = ids;
其中dt是DataTable 的名称
ID是列的名称
例如:-
表为
Name ID Marks
Ashish 10 200
Ram 100 300
Sur 200 800
Shim 10 899
Kam 100 989
然后列表框中的结果应显示为:-
{ID=10}{Count=2}
{ID=100}{Count=2}
{ID=200}{Count=1}
目前我得到的输出为:-
{ID=10}
{ID=100}
{ID=200}
请帮忙!!
您可以使用GroupBy
:
var idCounts = dt.AsEnumerable()
.GroupBy(row => row.Field<int>("ID"))
.Select(g => new
{
EventID = g.Key,
Count = g.Count()
})
.ToList();
listBox.DataSource = idCounts;