欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

总结C#删除字符串数组中空字符串的几种方法

程序员文章站 2023-08-26 23:41:34
前言 随着微软对c#不断发展和更新,c#中对于数组操作的方式也变得越来越多样化。以往要实现过滤数组中的空字符串,都是需要实行循环的方式来排除和过滤。但c#3.0新增的la...

前言

随着微软对c#不断发展和更新,c#中对于数组操作的方式也变得越来越多样化。以往要实现过滤数组中的空字符串,都是需要实行循环的方式来排除和过滤。但c#3.0新增的lambda表达式就可以很方便实现这个功能,下面一起看看为大家整理的几种清除数组中的空字符串的方法,有需要的可以参考学习。

方式一:使用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();

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

总结C#删除字符串数组中空字符串的几种方法

总结

以上就是关于c#删除字符串数组中空字符串的几种方法的全部内容,文章整理的很详细,相信会对大家使用c#处理字符串数组很有帮助。如果有疑问欢迎大家留言讨论,小编会尽快给大家回复。