C#中要如何才能删除一个字符串数组中的空字符串呢?随着微软对C#不断发展和更新,C#中对于数组操作的方式也变得越来越多样化。以往要实现过滤数组中的空字符串,都是需要实行循环的方式来排除和过滤。C#3.0新增的lambda表达式就可以很方便实现这个功能,下面介绍多种方式来实现清除数组中的空字符串,以及在.net中将字符串数组中字符串为空的元素去除。

方式一:使用lambda表达式筛选过滤掉数组中空字符串

        /// <summary>/// 使用lambda表达式排除/过滤/清空/删除掉字符串数组中的空字符串 /// </summary> /// <param name="args"></param> static void Main(string[] args) { string[] strArray = { "","111","","222","","333"}; Console.WriteLine("输出带有空字符串的数组:"); foreach (string str in strArray) { Console.WriteLine(str); } Console.WriteLine("-------------------------------------------"); //使用lambda表达式过滤掉空字符串 strArray = strArray.Where(s=>!string.IsNullOrEmpty(s)).ToArray(); Console.WriteLine("输出过滤掉空字符串的数组:"); foreach (string str in strArray) { Console.WriteLine(str); } Console.Read(); }

方式二:使用泛型集合List<string>的ForEach循环,过滤获取正确的字符串,重新添加到新字符串数组中

            string[] strArray = { "", "111", "", "222", "", "333" }; Console.WriteLine("输出带有空字符串的数组:"); foreach (string str in strArray) { Console.WriteLine(str); } Console.WriteLine("-------------------------------------------"); /* *使用List泛型集合的ForEach方法循环获取非空空字符串 *这里使用了匿名方法 */ List<string> list = new List<string>(); strArray.ToList().ForEach( (s) => { if (!string.IsNullOrEmpty(s)) { list.Add(s); } } ); strArray = list.ToArray(); Console.WriteLine("输出过滤掉空字符串的数组:"); foreach (string str in strArray) { Console.WriteLine(str); } Console.Read();

方式三:使用传统循环方式来排除和删除字符串数组中的空字符串

            string[] strArray = { "", "111", "", "222", "", "333" }; Console.WriteLine("输出带有空字符串的数组:"); foreach (string str in strArray) { Console.WriteLine(str); } Console.WriteLine("-------------------------------------------"); //使用循环排除和过滤掉空字符串 List<string> list = new List<string>(); foreach (string s in strArray) { if (!string.IsNullOrEmpty(s)) { list.Add(s); } } strArray = list.ToArray(); Console.WriteLine("输出过滤掉空字符串的数组:"); foreach (string str in strArray) { Console.WriteLine(str); } Console.Read(); 

上面三种方式的最终结果都是一样的,如下图

作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com  联系我,非常感谢。

使用C#删除一个字符串数组中的空字符串相关推荐

  1. JavaScript - 移除数组中的空字符串元素

    移除数组中的空字符串元素 使用 filter 方法对数组进行拷贝,删除空字符串元素,保留其他元素(第 22 ~ 24 行): <!DOCTYPE html> <html>< ...

  2. hive 判断子字符串_Java中检查空字符串(null或空白)的方法有几种?

    说明: 本文为牛旦教育原创,头条首发,转发须注明来源和原文网址. 1.摘要 在本文中,我们将介绍些方法检查Java中的空字符串(空的或空白符串).我们有些语言的原生方法以及几个库可用. 2.空与空白( ...

  3. json c语言 数组转字符串数组中,json和字符串/数组/集合的互相转换の神操作总结...

    一:前端字符串转JSON的4种方式 1,eval方式解析,恐怕这是最早的解析方式了. function strToJson(str){ var json = eval('(' + str + ')') ...

  4. 字符串篇(python)——字符串数组中两个字符串的最小距离

    题目描述 给定一个字符串数组strs,再给定两个字符串str1和str2,返回在strs中str1和str2的最小距离,如果str1或str2为null,或不在strs中,返回-1. def find ...

  5. LeetCode4_编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ““。(解决方案:横向扫描、 纵向扫描 、分治 二分查找 、秀儿操作之排序比较头尾)

    题目 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow&q ...

  6. 判断字符串数组中的数字是否对称

    分析以下需求,并用代码实现: (1)定义数字字符串数组{"010","3223","666","7890987",&qu ...

  7. 20190501-编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串...

    题目描述 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow ...

  8. Python 轻松解决从 K 个字符串数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合。(对比用库和不用库的方法)

    文章目录 一.问题说明 二.解决方法 一.问题说明 问题来源:粉丝的提问 从 K 个字符串数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合(对比用库和不用库的方法) 二.解决方法 iter ...

  9. 用js:字符串数组中每一项的长度。将字符串数组用 | 符号分割。有序数组插入排序插入数组。猴子选大王

    1.字符串数组中每一项的长度 代码: <script> var arr = ['hello', 'world!', 'nice', 'to', 'meet', 'you'];var new ...

最新文章

  1. linux下 proc 目录
  2. 硬链接、软链接和inode
  3. 33:把数组排成最小的数
  4. Linux之nginx配置文件的分析整理
  5. PHP提高redis命中率,怎么提高redis缓存命中率
  6. SAP Spartacus B2B功能,只渲染BodyContent position里的UI
  7. NHibernate for .NET 1.2
  8. mallcloud商城基于SpringBoot2.x
  9. MySQL数据库储存引擎Inoodb一--记录储存结构
  10. Apple 企业开发者账号邓白氏码申请记录 ----转
  11. RegisterStartupScript和RegisterClientScriptBlock的用法
  12. 多模态 | 从顶会论文看多模态预训练研究进展
  13. 暑假学习日记2013/8/20
  14. python批量检索文献pubmed_推荐一个检索文献强大的浏览器插件(Pubmed plus)
  15. 输出100以内所有的素数
  16. ffmpeg gif拆分成多张jpg
  17. SAR图像的干涉相位 matlab_好文推荐:复杂环境下地基SAR粗差探测及应用
  18. Win11如何查看自己电脑的显卡信息?Win11查看显卡信息的方法
  19. imx6 android 最新,Re: IMX6D Android6.0 OTA 升级问题
  20. Unity人工智能之不断自我进化的五人足球赛

热门文章

  1. Java基础—反射—简单介绍
  2. 消息队列—主要消息中间件优势对比
  3. Spring模板对象之RedisTemplate(Spring整合jedis)
  4. kotlin学习笔记——委托属性
  5. ARP(Address Resolution Protocol)地址解析协议初识
  6. Js基本函数 2017-03-20
  7. SQL中读取Excel 以及 bpc语言
  8. css为网页顶部和底部都加入背景图
  9. 删除临时表并且插入数据
  10. wince驱动异常调试方法(作者:wogoyixikexie@gliet)