Diciamo che ho un elenco di alcuni valori di colonna provenienti da una tabella, come rimuovere stringhe vuote e valori duplicati. Si prega di consultare il seguente codice:come rimuovere stringhe vuote dall'elenco, quindi rimuovere i valori duplicati da un elenco
List<string> dtList = dtReportsList.AsEnumerable().Select(dr => dr.Field<string>("column1")).ToList();
Questo è quello che ho codificato solo ora, ma ma il codice di Amiram è il modo più elegante, quindi mi scelgo la risposta qui è come ho fatto:
DataTable dtReportsList = someclass.GetReportsList();
if (dtReportsList.Rows.Count > 0)
{
List<string> dtList = dtReportsList.AsEnumerable().Select(dr => dr.Field<string>("column1")).ToList();
dtList.RemoveAll(x=>x == "");
dtList = dtList.Distinct().ToList();
rcboModule.DataSource = dtList;
rcboModule.DataBind();
rcboModule.Items.Insert(0, new RadComboBoxItem("All", "All"));
}
Capire che RemoveAll() muta dtList; ogni elemento rimosso rimuove l'Elenco per riorganizzare gli elementi in indici superiori nell'array sottostante che utilizza. Sarebbe più veloce semplicemente saltarli come fa Amiram con il suo metodo Where. – KeithS