2
다음 C# 코드는 많은 열과 두 개의 열 이름이있는 큰 데이터 테이블을 사용합니다. 제공된 두 개의 필드에 대해 중복 행이있는 두 행의 새로운 데이터 테이블을 제공합니다. & 스킬. 이것은 너무 구체적이어서 groupby로 필드 수를 제한해야합니다. 누군가 나를 도울 수 있습니까?Parameterise LINQ GroupBy
string[] excelField = new string[0]; // contains a list of field name for uniquness
excelField[0] = "staff No";
excelField[1] = "skill";
DataTable dataTableDuplicateRows = new DataTable();
dataTableDuplicateRows.Clear();
dataTableDuplicateRows.Columns.Clear();
foreach (string fieldName in excelField)
{
dataTableDuplicateRows.Columns.Add(fieldName);
}
var duplicateValues = dataTableCheck.AsEnumerable()
.GroupBy(row => new { Field0 = row[excelField[0]], Field1 = row[excelField[1]] })
.Where(group => group.Count() > 1)
.Select(g => g.Key);
foreach (var duplicateValuesRow in duplicateValues)
{
dataTableDuplicateRows.Rows.Add(duplicateValuesRow.Field0, duplicateValuesRow.Field1);
}
, 볼이 : http://stackoverflow.com/a/8759958/861716 –