如何从列表中删除空字符串,然后从列表中删除重复值 [英] how to remove empty strings from list, then remove duplicate values from a list

查看:178
本文介绍了如何从列表中删除空字符串,然后从列表中删除重复值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可以说我有一些列的值从表中来了,我怎么删除空字符串和重复值的列表。请看下面的代码:

 列表<串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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆