按DataTable列和分组下面的代码是用来求DataTable中Rate列n的和dtdt.Compute("Sum(Convert(Rate,'System.Int32'))");在这种情况下,您可以像SQLInngroupby子句一样分配groupby子句,以根据同一dt的另一列中的值获取Sum,例如:---------------------------评价|组--------------------------100|一个120|乙70|A--------------------------我只想得到SumA=170,SumB=120。尝试LINQ,varresult=fromtabindt.AsEnumerable()grouptabbytab["Group"]intogroupDtselectnew{Group=groupDt.Key,Sum=groupDt.Sum((r)=>decimal.Parse(r["速率"].ToString()))};使用LINQ是个好主意。如果您使用的是.net2.0,则可以按如下方式实现它:DictionarydicSum=newDictionary();foreach(dt.Rows中的DataRow行){stringgroup=row["Group"].ToString();intrate=Convert.ToInt32(row["Rate"]);如果(dicSum.ContainsKey(group))dicSum[group]+=rate;elsedicSum.Add(group,rate);}foreach(stringgindicSum.Keys)Console.WriteLine("SUM({0})={1}",g,dicSum[g]);您可能希望首先从DataTable中获取不同组值的列表。然后循环分组列表,为每个分组调用函数:以上是C#学习教程:DataTable列求和共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注—dt.Compute("Sum(Convert(Rate,'System.Int32'))","Group='"+组+"'");本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理会员删除。如需转载请注明出处:
