datatable里某列不相同数字的个数
例如,datatable里id列里有如下数字:51 52 52 53 51,那么不同数字的个数为3。
或者 60 62 68 62 64,不同数字的个数为4.
有没有高效的算法得出这个数呢?
------解决方案--------------------int count= dt.AsEnumerable().Select(t => t.Field<int>("id")).Distinct().Count();
------解决方案--------------------LinQ即可
------解决方案--------------------linq group
参考http://msdn.microsoft.com/zh-cn/library/bb384063.aspx
------解决方案--------------------Linq不能用就用SQL啊。
table的数据不是在数据库吗?
------解决方案--------------------
------解决方案--------------------C# code
private int getCount()
{
DataTable dt = XXX();
ArrayList ArrDistinct = new ArrayList();//唯一值集合
for (int i = 0; i < dt.Rows.Count; i++)
{
if(!ArrDistinct.Contains(dt.Rows[i]["id"].ToString()))
{
ArrDistinct.Add(dt.Rows[i]["id"].ToString());
}
}
return ArrDistinct.Count;
}