c# borrar filas - La mejor forma de eliminar entradas duplicadas de una tabla de datos
4
Answers
repetidas quitar duplicados
¿Cuál es la mejor manera de eliminar entradas duplicadas de una tabla de datos?
32 votes
c#
Una manera simple sería:
var newDt= dt.AsEnumerable()
.GroupBy(x => x.Field<int>("ColumnName"))
.Select(y => y.First())
.CopyToDataTable();
c#1
30
Aquí es una manera fácil y rápida usando AsEnumerable().Distinct()
private DataTable RemoveDuplicatesRecords(DataTable dt)
{
//Returns just 5 unique rows
var UniqueRows = dt.AsEnumerable().Distinct(DataRowComparer.Default);
DataTable dt2 = UniqueRows.CopyToDataTable();
return dt2;
}
HAGA CLIC para visitar mi blog para más detalles
c#2
29
Puede usar el método DefaultView.ToTable de una DataTable para hacer el filtrado así (adaptarse a C #):
Public Sub RemoveDuplicateRows(ByRef rDataTable As DataTable)
Dim pNewDataTable As DataTable
Dim pCurrentRowCopy As DataRow
Dim pColumnList As New List(Of String)
Dim pColumn As DataColumn
'Build column list
For Each pColumn In rDataTable.Columns
pColumnList.Add(pColumn.ColumnName)
Next
'Filter by all columns
pNewDataTable = rDataTable.DefaultView.ToTable(True, pColumnList.ToArray)
rDataTable = rDataTable.Clone
'Import rows into original table structure
For Each pCurrentRowCopy In pNewDataTable.Rows
rDataTable.ImportRow(pCurrentRowCopy)
Next
End Sub
c#3
28