取出Datatable指定列的重复数据,并取出对应的行数索引
code:
//取出重复数据
var dis_data = (from a in dt.AsEnumerable()
group a by a.Field<string>("身份证号")
into g
where g.Count() > 1
select new
{
value=g.Key
}).ToList();
if (dis_data.Count>0)
{
//拼接重复数据及重复数据出现的索引
Dictionary<string, List<int>> all_data = new Dictionary<string, List<int>>();
foreach (var dis in dis_data)
{
List<int> now_index = new List<int>();//出现重复的数据Index
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["身份证号"].ToString() ==dis.value)
{
now_index.Add(i+2);//输出行数
}
}
all_data.Add(dis.value, now_index);
}
}