C# LinQ 怎样从DataTable中查询不重复的行? 搜狗旗下的互动问答社区,用户可以提出问题、解决问题、或者搜索其他用户沉淀的精彩内容;在这里可以感受到最热烈的互助气氛,浏览到最精彩的问答内容。
我有一个datatable集合 用linq 怎么通过其中的二列得到该二列重复的所有数据 class Group{public String name;public String code;public String phone;public String id;}class RepeatGroup{public String code;public String id;public List<;Group>;Groups;public RepeatGroup(String c,String i){code=c;id=i;Groups=new List();}}List<;RepeatGroup>;GetRepeat(List<;Group>;groups){List<;RepeatGroup>;repeats=new List();for(int i=0;i;i+){if(repeats.Count(q=>;q.id=groups[i].id&q.code=groups[i].code)=0){RepeatGroup temp=new RepeatGroup(groups[i].code,groups[i].id);temp.Groups.Add(groups[i]);repeats.Add(temp);}else{repeats.First(q=>;q.id=groups[i].id&q.code=groups[i].code).Groups.Add(groups[i]);}}return repeats.Where(q=>;q.Groups.Count>;1).ToList();}找出重复的,按组排列
C#用LINQ操作Datatable数据库 假设你上图表格数据为 DataTable dt,列分别为AA,BB,CC,DDvar query=from p in dt.AsEnumerable()分组group p by new{t1=p.Field(\"AA\").ToString().Substring(0,p.Field(\"AA\").ToString().Length-2),t2=p.Field(\"BB\"),t3=p.Field(\"CC\")} into gselect new{ColA=g.Key.t1,ColB=g.Key.t2,ColC=g.Key.t3,ColD=g.Sum(c=>;c.Field(\"DD\"))};转datatableDataTable dtNew=dt.Clone();DataRow drNew;foreach(var p in query){drNew=dtNew.NewRow();drNew[\"AA\"]=p.ColA;drNew[\"BB\"]=p.ColB;drNew[\"CC\"]=p.ColC;drNew[\"DD\"]=p.ColD;dtNew.Rows.Add(drNew);}dtNew 为最终结果注:转换过程中要考虑空值的情况