Introduction
This article will show code to avoid duplicates from a Generic List.
Background
This is used to remove the dupliates rows from list items:
Method 1:
This will return distinct column values based on your datatable columns. Which is used to filter.
Also this will used to "Select" particular column in a datatable to display in grdiview with AutoGeneratedColumn="True" Mode
Using Code:
DataTable tableWithOnlySelectedColumns = new DataView(DataTableName).ToTable(distinct, ColumnNames);
example 1:
public void BindGridView(){
string str[] = {"Dept","EmpFName","EmpLName","Salary","City"};
GridView1.DataSource = GetSelectedColumns(dv.ToTable(), str, true);
GridView1.DataBind();
}
public DataTable GetSelectedColumns(DataTable dtTemp, string[] ColumnNames, bool distinct)
{
DataTable tableWithOnlySelectedColumns = new DataView(dtTemp).ToTable(distinct, ColumnNames);
return tableWithOnlySelectedColumns;
}
Method 2:
List<int> ProductCode = new List<int> { 21, 46, 46, 55, 17, 21, 55, 55 };
IEnumerable<int> ProductCode = ProductCode.Distinct();
Method 3 : Using Lamda Expression
List <ListName> listObject = listname.GroupBy(x=> x.ColumnName).Select(y=> y.First()).TOList();
List<ClsPubRepayDetails> repayDetails1 = ((List<ClsPubRepayDetails>)DeSeriliaze (byteLobs));
List<ClsPubRepayDetails> repayDetails = repayDetails1.GroupBy(x => x.InstallmentNo).Select(y => y.First()).ToList();