如何从列表中删除空字符串,然后从列表中删除重复值 [英] how to remove empty strings from list, then remove duplicate values from a list
本文介绍了如何从列表中删除空字符串,然后从列表中删除重复值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可以说我有一些列的值从表中来了,我怎么删除空字符串和重复值的列表。请看下面的代码:
列表<串GT; dtList = dtReportsList.AsEnumerable()选择(DR = GT; dr.Field<串GT(列1))。了ToList();
这是我所编码刚才但却阿米拉姆的代码的方式更优雅,所以我会选择在这里,答案是我是如何做的:
的DataTable dtReportsList = someclass.GetReportsList();
如果(dtReportsList.Rows.Count大于0)
{
名单,LT;字符串> dtList = dtReportsList.AsEnumerable()选择(DR = GT; dr.Field<串GT(列1))。了ToList();
dtList.RemoveAll(X => X ==);
dtList = dtList.Distinct()了ToList();
rcboModule.DataSource = dtList;
rcboModule.DataBind();
rcboModule.Items.Insert(0,新RadComboBoxItem(全部,全部));
}
解决方案
dtList = dtList.Where(S = GT;!string.IsNullOrWhiteSpace(S))。鲜明的()了ToList()
我以为空字符串和空白都是一样空。如果没有,你可以使用 IsNullOrEmpty
(允许空白),或取值!= NULL
Lets say I have a list of some column values coming from a table, how do I remove empty strings and duplicate values. Please see the following code:
List<string> dtList = dtReportsList.AsEnumerable().Select(dr => dr.Field<string>("column1")).ToList();
This is what I have coded just now but but Amiram's code is way more elegant, so I will choose that answer here is how I did it:
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"));
}
解决方案
dtList = dtList.Where(s => !string.IsNullOrWhiteSpace(s)).Distinct().ToList()
I assumed empty string and whitespace are like null. If not you can use IsNullOrEmpty
(allow whitespace), or s != null
这篇关于如何从列表中删除空字符串,然后从列表中删除重复值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文