使用C#删除一个字符串数组中的空字符串
2024-08-25 02:15:50
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();
上面三种方式的最终结果都是一样的,如下图
最新文章
- Exchange超级实用命令行
- 【bzoj1912】 Apio2010—patrol 巡逻
- Winform开发框架之介绍
- [分享] RT7LITE精简后无法封装解决办法
- sublime txt 设置在浏览器预览
- spring day01-go1
- astyle 使用说明
- Form_Form页面跳转的四种方式(open_form, call_form, new_form, fnd_function)详解(汇总)
- MySQL 字符串 转 int/double CAST与CONVERT 函数的用法
- SAX - Hello World
- c# 赋值后最后一项数据部分丢失
- Unreal Engine 4 创建Destructible Mesh(可破坏网格)
- OpenCV——运用于pixels war游戏
- 关于OC和Swift使用GIT创建项目
- [Redis源码阅读]redis持久化
- [LeetCode] Set Mismatch 设置不匹配
- TensorFlow 2.0 Alpha pip安装指令
- 解决Eclipse中无法查看Java源码
- git 命令积累
- python-----短信、电话告警
热门文章
- 状态压缩&#183;一(状态压缩DP)
- Docker配置daocloud加速器
- [转]C# NPOI 导入与导出Excel文档 兼容xlsx, xls
- java调用第三方的webservice应用实例【转载】
- 无责任Windows Azure SDK .NET开发入门(二):使用Azure AD 进行身份验证
- JS中那些让人头昏眼花的弯子
- Linux常用基本命令(split )
- HDU3715(二分+2-SAT)
- python-策略模式
- element-ui switch组件源码分析整理笔记(二)