总结C#删除字符串数组中空字符串的几种方法
作者:daisy 时间:2022-04-14 03:26:42
前言
随着微软对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,字符串数组,空字符串
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
关于Maven的使用,这些你都真的了解么
2022-01-02 14:19:08
Java-String类最全汇总(下篇)
2023-11-09 14:45:26
![](https://img.aspxhome.com/file/2023/7/58857_0s.jpg)
java编写的文件管理器代码分享
2023-11-20 13:28:52
C#实现冒泡排序和插入排序算法
2021-07-18 17:01:53
详解Spring Boot Junit单元测试
2021-10-25 23:13:55
android实现简单的画画板实例代码
2023-02-21 05:46:02
![](https://img.aspxhome.com/file/2023/3/126733_0s.jpg)
初识Spring Boot框架之Spring Boot的自动配置
2022-08-25 10:27:57
![](https://img.aspxhome.com/file/2023/3/82313_0s.png)
详解Java线程同步器CountDownLatch
2023-08-23 18:42:39
![](https://img.aspxhome.com/file/2023/2/58342_0s.png)
Nacos docker单机模式部署实现过程详解
2021-05-27 01:07:28
![](https://img.aspxhome.com/file/2023/9/95939_0s.png)
Java Http的基础概念了解
2021-08-12 04:23:28
![](https://img.aspxhome.com/file/2023/9/122029_0s.png)
C# 使用Fiddler捕获本地HttpClient发出的请求操作
2022-06-28 04:10:34
![](https://img.aspxhome.com/file/2023/7/83347_0s.jpg)
c#将字节数组转成易读的字符串的实现
2022-03-02 21:38:31
![](https://img.aspxhome.com/file/2023/7/85677_0s.png)
C#中循环语句:while、for、foreach的使用
2022-05-01 02:42:55
Java给PDF加水印并合并多个文件
2023-01-01 17:59:02
![](https://img.aspxhome.com/file/2023/9/116819_0s.jpg)
Java动态代理四种实现方式详解
2022-03-12 02:16:38
![](https://img.aspxhome.com/file/2023/8/94198_0s.png)
Java 接口和抽象类的区别详解
2021-07-26 13:30:21
WPF实现XAML转图片的示例详解
2023-09-13 21:38:51
![](https://img.aspxhome.com/file/2023/3/80093_0s.png)
java编程abstract类和方法详解
2023-12-15 06:08:46
Winform窗体效果实例分析
2023-12-12 04:44:08
关于C#10 新特性 Lambda 优化
2022-05-31 08:21:16