Digamos que tengo una lista de algunos valores de columna procedentes de una tabla, cómo elimino cadenas vacías y valores duplicados. Consulte el siguiente código:cómo eliminar cadenas vacías de la lista, luego eliminar valores duplicados de una lista
List<string> dtList = dtReportsList.AsEnumerable().Select(dr => dr.Field<string>("column1")).ToList();
Esto es lo que he codificado situado justo ahora, pero pero el código de Amiram es la forma más elegante, así que voy a elegir esa respuesta aquí es cómo lo hice:
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"));
}
Comprender que RemoveAll() mutates dtList; cada elemento que se elimina obliga a la Lista a reorganizar elementos en índices superiores en la matriz subyacente que utiliza. Sería más rápido simplemente omitirlos como lo hace Amiram con su método Where. – KeithS