Cho phép nói rằng tôi có danh sách một số giá trị cột đến từ bảng, làm cách nào để xóa chuỗi trống và giá trị trùng lặp. Hãy xem đoạn mã sau:cách xóa chuỗi rỗng khỏi danh sách, sau đó xóa giá trị trùng lặp khỏi danh sách
List<string> dtList = dtReportsList.AsEnumerable().Select(dr => dr.Field<string>("column1")).ToList();
Đây là những gì tôi đã được mã hóa chỉ là bây giờ nhưng nhưng mã Amiram là cách thanh lịch hơn, vì vậy tôi sẽ chọn rằng câu trả lời ở đây là làm thế nào tôi đã làm nó:
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"));
}
Hiểu rằng RemoveAll() biến mất dtList; mỗi phần tử được loại bỏ buộc Danh sách sắp xếp lại các phần tử trong chỉ mục cao hơn trong mảng cơ bản mà nó sử dụng. Nó sẽ nhanh hơn chỉ đơn giản là bỏ qua chúng như Amiram với phương pháp Where của mình. – KeithS