在C#编程中,删除或过滤掉字符串数组中的空字符串是一项常见的任务,特别是在处理用户输入、数据清洗或数据处理场景中。以下将详细介绍三种方法来实现这一目标。 ### 方式一:使用Lambda表达式 Lambda表达式是C# 3.0引入的一种简洁的匿名函数表示方式,它在处理数组或集合时非常方便。以下是如何使用Lambda表达式来筛选掉字符串数组中的空字符串: ```csharp // 原始字符串数组 string[] strArray = { "", "111", "", "222", "", "333" }; // 使用Where方法和Lambda表达式过滤空字符串 strArray = strArray.Where(s => !string.IsNullOrEmpty(s)).ToArray(); ``` 在这个例子中,`Where`方法接收一个谓词(即Lambda表达式 `s => !string.IsNullOrEmpty(s)`),该谓词检查每个字符串是否为空或只包含空格。如果字符串不为空,那么它将被包含在新的数组中。 ### 方式二:使用泛型集合List<T> 另一种方法是利用List<T>类提供的方法,如`ForEach`,配合匿名方法来过滤空字符串,并将结果存储到新的数组中: ```csharp // 创建List<string> List<string> list = new List<string>(); // 使用ForEach遍历并过滤空字符串 strArray.ToList().ForEach(s => { if (!string.IsNullOrEmpty(s)) { list.Add(s); } }); // 将List<string>转换回数组 strArray = list.ToArray(); ``` 在这个例子中,首先将原数组转换为List<string>,然后使用`ForEach`遍历每一个元素,判断是否为空,如果非空则添加到临时的List<string>中。最后将List<string>转换回数组。 ### 方式三:使用传统循环 最基础的方法是使用传统的for或foreach循环来遍历数组,检查每个元素,将非空字符串添加到新的列表中,最后再转换为数组: ```csharp List<string> list = new List<string>(); foreach (string s in strArray) { if (!string.IsNullOrEmpty(s)) { list.Add(s); } } // 转换回数组 strArray = list.ToArray(); ``` 这种方式虽然代码较长,但思路清晰,易于理解,适用于不熟悉Lambda表达式或不适用LINQ的场景。 以上三种方法都可以有效地从字符串数组中删除空字符串。Lambda表达式和LINQ提供了一种简洁的语法,而传统的循环提供了更基础且可控的实现方式。选择哪种方法取决于个人喜好、项目需求以及对C#特性的熟悉程度。在实际开发中,应根据性能、可读性和团队规范来选择最适合的方法。









- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于PLC的掘进机电控系统设计张宏强.docx
- 网络营销-Microsoft-Word-文档.doc
- 杭浦高速公路项目管理手册样本.doc
- 工字钢井架工艺编程.doc
- 环境信息化现状评估报告.doc
- 园区网络主干光缆敷设及分中心机房建设方案.doc
- 网络维护简历模板.doc
- 网销亿网络营销技能之推广技巧.pptx
- 工程硕士项目管理.docx
- 基于单片机的交通灯控制系统的设计.docx
- 网络舆情管理课件--网络舆情分析与媒体应对.ppt
- 精华版国家开放大学电大专科《网络应用服务管理》判断题题库及答案.docx
- 土木工程知识点-建设监理中的质量控制与项目管理中的质量管理比较.doc
- 基于51单片机的秒表设计.doc
- 全年系统集成项目管理工程师试题分析与解答.doc
- 关于国家电力公司系统安全监督机构的设置问题.doc


