VS(C#)中List用法_第1页
VS(C#)中List用法_第2页
VS(C#)中List用法_第3页
VS(C#)中List用法_第4页
VS(C#)中List用法_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

C List用法用法 所属命名空间 所属命名空间 System Collections Generic public class List IList ICollection IEnumerable IList IColl ection IEnumerable List类是 ArrayList 类的泛型等效类 该类使用大小可按需动态增加的数组实现 ILi st 泛型接口 泛型的好处泛型的好处 它为使用 c 语言编写面向对象程序增加了极大的效力和灵活性 不会强行 对值类型进行装箱和拆箱 或对引用类型进行向下强制类型转换 所以性能得到提高 性能注意事项 性能注意事项 在决定使用在决定使用 IList 还是使用还是使用 ArrayList 类 两者具有类似的功能 时 记住类 两者具有类似的功能 时 记住 IList 类在类在大多数情况下执行得更好并且是类型安全的大多数情况下执行得更好并且是类型安全的 如果对 IList 类的类型 T 使用引用类型 则两个类的行为是完全相同的 但是 如果 对类型 T 使用值类型 则需要考虑实现和装箱问题 添加到 ArrayList 中的任何引用或值类型都将隐式地向上强制转换为 Object 如果项 是值类型 则必须在将其添加到列表中时进行装箱操作 在检索时进行取消装箱操作 强 制转换以及装箱和取消装箱操作都会降低性能 在必须对大型集合进行循环访问的情况下 装箱和取消装箱的影响非常明显 1 List 的基础 常用方法 的基础 常用方法 声明 声明 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 遍历遍历 List 中元素中元素 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 判断某个元素是否在该判断某个元素是否在该 List 中 中 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 给给 List 里面元素排序 里面元素排序 List Sort 默认是元素第一个字母按升序 E g mList Sort 给给 List 里面元素顺序反转 里面元素顺序反转 List Reverse 可以与 List Sort 配合使用 达到想要的效果 E g mList Sort List 清空 清空 List Clear E g mList Clear 获得获得 List 中元素数目 中元素数目 List Count 返回 int 值 E g int count mList Count Console WriteLine The num of elements in the list count 2 List 的进阶 强大方法 的进阶 强大方法 举例用的 List string temArr Ha Hunter Tom Lily Jay Jim Kuku Locu mList AddRange temArr List 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 ListFind 函数 函数 public bool ListFind string name if name Length 3 return true return false 这两种方法的结果是一样的 List FindLast 方法 方法 搜索与指定谓词所定义的条件相匹配的元素 并返回整个 List 中 的最后一个匹配元素 public T FindLast Predicate match 用法与 List Find 相同 List 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 委托给一个函数 这里用到上面的 ListFind 函数 E g bool flag mList TrueForAll ListFind 委托给 ListFind 函数 Console WriteLine True for all flag flag 值为 false 这两种方法的结果是一样的 List 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 获得前 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 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 RemoveAll 方法 方法 移除与指定的谓词所定义的条件相匹配的所有元素 public int RemoveAll Predicate match E g mList RemoveAll name if name Length 3 return true else return false foreach string s in mList Console WriteLine element in mList s 这时 mList 存储的就是移除长度大于 3 之后的元素 List 是一个泛型链表 T 表示节点元素类型 比如 List intList 表示一个元素

温馨提示

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

最新文档

评论

0/150

提交评论