zoukankan      html  css  js  c++  java
  • 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();

  • 相关阅读:
    Windows 科研软件推荐
    有关Python 包 (package) 的基本知识
    《Using Python to Access Web Data》Week4 Programs that Surf the Web 课堂笔记
    Coursera助学金申请模板
    《Using Databases with Python》 Week2 Basic Structured Query Language 课堂笔记
    Jupyter 解决单个变量输出问题
    解决 pandas 中打印 DataFrame 行列显示不全的问题
    《Using Python to Access Web Data》 Week3 Networks and Sockets 课堂笔记
    缓存击穿及解决方案
    jvm垃圾收集器
  • 原文地址:https://www.cnblogs.com/klsw/p/5079337.html
Copyright © 2011-2022 走看看