取出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);
}
}