C sharp ListT的详细用法_第1页
C sharp ListT的详细用法_第2页
C sharp ListT的详细用法_第3页
C sharp ListT的详细用法_第4页
C sharp ListT的详细用法_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C C ListList用法用法 所所属属命名空命名空间间 System Collections Generic public class List IList ICollection IEnumerable IList ICollection IEnumerable List类是 ArrayList 类的泛型等效类 该类使用大小可按需动态增加的数组实现 IList 泛型接口 泛型的好泛型的好处处 它为使用 c 语言编写面向对象程序增加了极大的效力和灵活性 不会强行 对值类型进行装箱和拆箱 或对引用类型进行向下强制类型转换 所以性能得到提高 性能注意事性能注意事项项 在在决决定使用定使用 IListIList 还还是使用是使用 ArrayListArrayList 类类 两两者具有者具有类类似的功能 似的功能 时时 记记住住 IListIList 类类在大多在大多数数情情况况下下执执行得更好行得更好并并且是且是类类型安全的 型安全的 如果对 IList 类的类型 T 使用引用类型 则两个类的行为是完全相同的 但是 如果对类型 T 使用值类型 则需要考虑实现和装箱问题 用微用微软软的的话讲话讲 添加到 ArrayList 中的任何引用或值类型都将隐式地向上强制转换为 Object 如果项 是值类型 则必须在将其添加到列表中时进行装箱操作 在检索时进行取消装箱操作 强 制转换以及装箱和取消装箱操作都会降低性能 在必须对大型集合进行循环访问的情况下 装箱和取消装箱的影响非常明显 1 1 ListList 的基的基础础 常用方法 常用方法 声声明 明 1 List mList new List T为列表中元素类型 现在以string类型作为例子 E g List mList new List 2 List testList new List IEnumerable collection 以一个集合作为参数创建List E g string temArr Ha Hunter Tom Lily Jay Jim Kuku Locu List testList new List temArr 添加元素添加元素 1 List Add T item 添加一个元素 E g mList Add John 2 List AddRange IEnumerable collection 添加一组元素 E g string temArr Ha Hunter Tom Lily Jay Jim Kuku Locu mList AddRange temArr 3 Insert int index T item 在index位置添加一个元素 E g mList Insert 1 Hei 遍遍历历ListList中元素中元素 foreach T element in mList T的类型与mList声明时一样 Console WriteLine element E g foreach string s in mList Console WriteLine s 删删除元素除元素 1 List Remove T item 删除一个值 E g mList Remove Hunter 2 List RemoveAt int index 删除下标为index的元素 E g mList RemoveAt 0 3 List RemoveRange int index int count 从下标index开始 删除count个元素 E g mList RemoveRange 3 2 判判断断某某个个元素是否在元素是否在该该ListList中 中 List Contains T item 返回true或false 很实用 E g if mList Contains Hunter Console WriteLine There is Hunter in the list else mList Add Hunter Console WriteLine Add Hunter successfully 给给ListList里面元素排序 里面元素排序 List Sort 默认是元素第一个字母按升序 E g mList Sort 给给ListList里面元素里面元素顺顺序反序反转转 List Reverse 可以与List Sort 配合使用 达到想要的效果 E g mList Sort ListList清清空 空 List Clear E g mList Clear 获获得得ListList中元素中元素数数目 目 List Count 返回int值 E g int count mList Count Console WriteLine The num of elements in the list count 2 2 ListList 的的进阶进阶 强大方法 强大方法 举例用的 List string temArr Ha Hunter Tom Lily Jay Jim Kuku Locu mList AddRange temArr List FindList Find 方法 方法 搜索与指定谓词所定义的条件相匹配的元素 并返回整个 List 中的第一 个匹配元素 public T Find Predicate match Predicate是对方法的委托 如果传递给它的对象与委托中定义的条件匹配 则该方法返 回 true 当前 List 的元素被逐个传递给Predicate委托 并在 List 中向前移动 从第 一个元素开始 到最后一个元素结束 当找到匹配项时处理即停止 Predicate 可以委托给一个函数或者一个拉姆达表达式 委托给拉姆达表达式 E g string listFind mList Find name name是变量 代表的是mList 中元素 自己设定 if name Length 3 return true return false Console WriteLine listFind 输出是Hunter 委托给一个函数 E g string listFind1 mList Find ListFind 委托给ListFind函数 Console WriteLine listFind 输出是Hunter ListFindListFind函函数数 public bool ListFind string name if name Length 3 return true return false 这两种方法的结果是一样的 List FindLastList FindLast 方法 方法 搜索与指定谓词所定义的条件相匹配的元素 并返回整个 List 中的 最后一个匹配元素 public T FindLast Predicate match 用法与List Find相同 List TrueForAllList TrueForAll方法 方法 确定是否 List 中的每个元素都与指定的谓词所定义的条件相匹 配 public bool TrueForAll Predicate match 委托给拉姆达表达式 E g bool flag mList TrueForAll name if name Length 3 return true else return false Console WriteLine True for all flag flag值为false 委托给一个函数 这里用到上面的ListFindListFind函数 E g bool flag mList TrueForAll ListFind 委托给ListFind函数 Console WriteLine True for all flag flag值为false 这两种方法的结果是一样的 List FindAllList FindAll方法 方法 检索与指定谓词所定义的条件相匹配的所有元素 public List FindAll Predicate match E g List subList mList FindAll ListFind 委托给ListFind函数 foreach string s in subList Console WriteLine element in subList s 这时subList存储的就是所有长度大于3的元素 List Take n List Take n 获得前n行 返回值为IEnumetable T的类型与List的类型一样 E g IEnumerable takeList mList Take 5 foreach string s in takeList Console WriteLine element in takeList s 这时takeList存放的元素就是mList中的前5个 List WhereList Where方法 方法 检索与指定谓词所定义的条件相匹配的所有元素 跟List FindAll方法 类似 E g IEnumerable whereList mList Where name if name Length 3 return true else return false foreach string s in subList Console WriteLine element in subList s 这时subList存储的就是所有长度大于3的元素 List RemoveAllList RemoveAll方法 方法 移除与指定的谓词所定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论