C# .Net List<T>中Remove()、RemoveAt()、RemoveRange()、RemoveAll()的区别,List<T>删除汇总

摘要:
在List中删除主要有Remove()、RemoveAt()、RemoveRange()、RemoveAll()这几个方法。下面一一介绍使用方法和注意点。我们以List举例varstrList=newList{"aa","ba","cc","dd","ee","ff"};一、Remove()删除List中匹配到的第一个项,参数为List中的T,返回类型为bool,成功删除返回True,失败或者没有找到返回False。例如:strList.RemoveRange(0,2);四、RemoveAll()删除所有匹配到的项,参数是一个Predicate委托,用于定义要删除的元素应满足的条件。返回类型为int型,表示删除的个数。

在List<T>中删除主要有Remove()、RemoveAt()、RemoveRange()、RemoveAll()这几个方法。下面一一介绍使用方法和注意点。

我们以List<string>举例

var strList = new List<string> { "aa", "ba", "cc", "dd", "ee", "ff" };

一、Remove()删除List中匹配到的第一个项,参数为List<T>中的T,返回类型为bool,成功删除返回True,失败或者没有找到返回False。例如:

var rt =  strList.Remove("aa");

二、RemoveAt()删除指定索引的一项。参数为int ,表示索引。返回类型为void。例如:

strList.RemoveAt(0);

三、RemoveRange()删除指定索引段的项,第一个参数为删除的起始索引,第二个参数为删除的个数。返回类型为void。例如:

strList.RemoveRange(0, 2);

四、RemoveAll()删除所有匹配到的项,参数是一个Predicate<T> 委托,用于定义要删除的元素应满足的条件。返回类型为int型,表示删除的个数。例如:

//拉姆达表达式
var rt = strList.RemoveAll(j=>j.Contains("a"));
//自定义条件
private static bool IsDel(stringstr)
{
    return str.Contains("a");
}
var rt = strList.RemoveAll(IsDel);

免责声明:文章转载自《C# .Net List&amp;lt;T&amp;gt;中Remove()、RemoveAt()、RemoveRange()、RemoveAll()的区别,List&amp;lt;T&amp;gt;删除汇总》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux DHCP 服务器配置与管理【原】docker部署单节点consul下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL----ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

1、问题描述 在导入同事提供的一个sql文件时候,出现了一个1071错误,总结学习一下: 2、分析问题 错误的字面意思是说mysql字段设置的值太长了,不能大于767个字节,在网上找了一些资料后才知道原理: 当我们给表建立索引时,数据库会计算key的长度是累加所有Index用到的字段的char长度后再按下面比例乘起来不能超过限定的key长度(myisam...

第五章·Kibana入门-安装,索引添加及界面功能

Kibana简介及部署 什么是Kibana? Kibana是一个通过调用elasticsearch服务器进行图形化展示搜索结果的开源项目。 Kibana安装及配置 #将Kibana安装包上传至服务器,并安装 [root@elkstack04 ~]# yum localinstall -y kibana-5.3.0-x86_64.rpm #配置Kibana...

Java基础面试题(1)

个人总结,仅自己学习用。愿与大家一起分享!如有错误请指正。 一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的? 答: 1、String是字符串常量,StringBuffer和StringBuilder都是字符串变量。后两者的字符内容可变,而前者创建后内容不可变。 2、String不可变是...

安装ELK 日志收集

ELK 官网: https://www.elastic.co/cn/what-is/elk-stack ElasticSearch ElasticSearch 是一个高可用开源全文检索和分析组件。提供存储服务,搜索服务,大数据准实时分析等。一般用于提供一些提供复杂搜索的应用 基本概念: Index 定义:类似于mysql中的database。索引只是一个逻...

使用SQL脚本创建数据库,操作主键、外键与各种约束(MS SQL Server)

在实际开发中,可能很少人会手写sql脚本来操作数据库的种种。特别是微软的MS SQL Server数据库,它的SQL Server Management Studio对数据库的图形化操作极致简便,从而导致很多人都不会或不熟悉使用SQL脚本操作数据库。 接下面介绍的是我们日常开发中常规性的各种操作,先看看基本知识,随后使用coding来表述。 SQL Ser...

使用sql server中的全文索引

一般情况,使用sql server中的全文索引,经过大体4个步骤:       1).安装full text search全文索引服务;       2).为数据表建立full text catalog全文索引目录;       3).进行full text catalog的population操作(使全文索引与数据表内容同步);       4).使用全...