我有一个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<Group>();
}
}
List<RepeatGroup> GetRepeat(List<Group> groups)
{
List<RepeatGroup> repeats=new List<RepeatGroup>();
for(int i=0;i<groups.Count;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();
}
找出重复的,按组排列
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-15
var items = table.DefaultView.OfType<DataRowView>().Where(dr => dr["code"].ToString() == "123" && dr["id"].ToString() == "1").Select(dr => dr);追问

在我不知道值的情况下呢

本回答被网友采纳

...怎么通过其中的二列得到该二列重复的所有数据
return repeats.Where(q=>q.Groups.Count>1).ToList();} 找出重复的,按组排列

使用Linq查询DataTable某列数据
select c.num).Sum();return Convert.ToInt32(q);

C#中怎么多datatable中某列中升序排列的数据按照指定的差值分组?
在 C# 中,你可以使用 LINQ 查询来实现这一目的。首先,你需要使用 OrderBy 方法将数据表中的数据按照指定的列升序排列。然后,你可以使用 GroupBy 方法将数据分组,按照指定的差值分组。例如,假设你有一个名为 dataTable 的数据表,其中包含一列名为 value 的数值数据,你想将这些数据按照每 5 个为...

datatable1和datatable2比较。
用linq来实现,先定义两个dt,这个可以换成你程序中的 DataTable dt1 = new DataTable(); \/\/第一个datatable DataTable dt2 = new DataTable(); \/\/第二个datatable 思路:1.根据某个字段,找到dt1和dt2中重复的数据集合(我这里用的是Id,只要id相同我就认为是重复的数据)2.在dt1中减...

ASP.NET C# 如何合并DataTable中的重复数据(做数据整合)
} } DataTable dt2 = dt.Copy();dt2.Rows.Clear();foreach (KeyValuePair<string, int> item in dic){ string[] name = item.Key.Split('&');DataRow newdr = dt2.NewRow();newdr[0] = name[0];newdr[1] = name[1];newdr[2] = item.Value;dt2.Rows.Add(newdr);} ...

在C#中怎么用lamda取得datatable中的某几列,计算这几列的和?
linq:from s in datatable select s.math,s.chinese,s.physics lamda:datatable.select( s=>s.math,s.chinese,s.physics)注意:DataTable要实现IEnumerable接口

C#中使用linq to sql如何将一个datatable中的某些字段添加到另一个...
\/\/ctx是你的数据上下文var column = ctx.tableA.First(x=>x.FieldA == "xxx");List<tabelBRowObj> listB = ctx.tableB.ToList();foreach(var item in listB){ item.FieldB = column;}ctx.SaveChanges();

怎么读取DataTable某一列的值?然后用c#代码判断是否有重复数据?linq还 ...
public static void cs() { System.Data.DataTable dt = new System.Data.DataTable(); dt.Rows.Add(""); var quer = from tb in dt.AsEnumerable() group tb by tb.Field<string>("xx") into x select new{ ...

asp.net怎么计算datatable某一列的平均值,而不用一个一个的取出来...
使用linq dt.Rows.Cast<DataRow>().Average(r => r.Field<decimal>("col1"));

C# 如何撰写将一个Datatable的所有奇数行提取出来生成一个表,所有偶...
可以试一下DataView, 用DataView.RowFilter做筛选,然后用DataView.ToTable()直接生成Table。我没时间做试验了,你可以试一下。另外,如果只是想得到奇数行和偶数行的集合,用LINQ更方便:var oddRows = table.Rows.Cast<DataRow>().Where((row, index) => index % 2 == 0).ToArray();var ...

相似回答
大家正在搜