/*十有三博客*/
  • 首页
  • 关于本站
  • 网站地图
  • RSS订阅

C#中如何排除/过滤/清空/删除掉字符串数组中的空字符串

2014-06-25 十有三 0 浏览:2万+ .NET技术 C#

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();
        }

点击此链接查看MSDN官方对Lambda 表达式的说明

方式二:使用泛型集合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();

点击此链接查看MSDN官方对List.ForEach 方法的说明

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

            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();

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

删除掉字符串数组中的空字符串


作者:十有三

出处:https://shiyousan.com/post/635392574968942699

版权声明:本文采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。欢迎转载本文,转载请声明出处或保留此段声明。


  • 上一篇: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值
  • 下一篇: ASP.NET MVC 表单提交数组和泛型集合的方法

相关文章
  • 解决ASP.NET MVC AllowAnonymous属性无效导致无法匿名访问控制器的问题
  • 记录Vs2013中文语言包安装卡住进度条不动的问题
  • 无法从带有索引像素格式的图像创建 Graphics 对象
  • C#中ADO.NET如何传递和设置like查询的参数
  • ASP.NET MVC 5 学习笔记:使用HandleErrorAttribute处理异常
  • Internet Explorer 无法显示此源及此源包含代码错误

文章分类

.NET技术 123 数据库 24 Web前端 21 网站建设运维 37 操作系统与应用 66 程序猿日常 11 开发工具 12 其他随笔 13

文章标签

ASP.NET ASP.NET MVC C# CSS HTML IIS Javascript Linux MongoDB MySql SQL SQL Server Visual Studio Windows系统 版本控制系统 插件工具 服务器 搞笑娱乐 好文分享 软件应用 生活知识 手机问题 随笔 网络知识 网站设计优化 网站维护 养生保健 异常处理 硬件设备 游戏攻略

热门文章

  • IIS8如何安装和使用URL重写工具-URL Rewrite
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • 解决IE11安装升级失败和在安装前需要更新的问题
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件
  • VS重构重命名的快捷键

推荐文章

  • C# 控制台应用程序从外部传参运行和调试
  • 解决bootstrap框架中Glyphicons字体图标无法显示
  • 开发趣事:帐号(帐户)和账号(账户)的区别引发的强迫症事件
  • 解决COMMIT TRANSACTION 请求没有对应的 BEGIN TRANSACTION错误
  • 解决出现"WARNING:Looks like theres a ' xlive.dll’ in the game path,please delete it to get GFWL work"警告框问题

友情链接

  • Passingwind的博客
  • 码友网

知识共享许可协议 CC BY-SA 4.0本站作品采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。
闽ICP备15003702号
闽公网安备 35020302035102号