《C#入门经典》学习笔记(集合、比较及转换).docx

《C#入门经典》学习笔记(集合、比较及转换).docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C#入门经典》学习笔记(集合、比较及转换)

PAGE17 / NUMPAGES17 《C#入门经典》学习笔记(集合、比较和转换) 集合 ?C#中的数组是作为System.Array类的实例来执行的,它们是集合类中的一种 集合类一般用于处理对象列表,其功能是通过执行System.Collection中的接口实现的 集合的功能可以通过接口来实现 该接口可以使用基本基本集合类,也可以创建自定义的集合类 System.Collections 命名空间有很多接口提供了基本的集合功能: IEnumerable:公开枚举数,该枚举数支持在非泛型集合上进行简单迭代 ICollection:定义所有非泛型集合的大小、枚举数和同步方法 IList:表示可按照索引单独访问的对象的非泛型集合 IDictionary:表示键/值对的非通用集合 System.Array类继承了IList,ICollection和IEnumerable 但不支持IList的一些高级功能,而且是一个大小固定的项目列表 使用集合 Systems.Collections中的一个类System.Collections.ArrayList,也执行IList,ICollection和IEnumerable接口,但与数组不同,它是大小可变的 使用System.Array类的集合(数组),必须用固定的大小来初始化数组 例如: Animal[] animalArray = new Animal[2]; 使用System.ArrayList类的集合,不需要初始化其大小 例如: ArrayList animalArrayList = new ArrayList(); 这个类还有两个构造函数: 1 把现有集合作为参数复制到新实例中 2 用一个int参数设置集合的容量,不过实际内容超过容量时会自动增加 初始化数组,需要给这个项目赋予初始化了的对象 例如: Cow myCow1 = new Cow(Deirdre); animalArray[0] = myCow1; animalArray[1] = new Chicken(Ken); 可以用这两种方式初始化数组 对于ArrayList集合,需要用Add()方法添加新项目 例如: Cow myCow2 = new Cow(Hayley); animalArrayList.Add(myCow2); animalArrayList.Add(new Chicken(Roy)); 在添加万项目之后,就可以用与数组相同的语法重写他们 例如: animalArrayList[1] = new Chicken(Roy2) Array数组和ArrayList集合都支持foreach结构来迭代 例如: foreach (Animal myAnimal in animalArray) { } foreach (Animal myAnimal in animalArrayList) { } Array数组使用Length属性获取项目的个数 例如: int animalCount = animalArray.Length; ArrayList集合使用Count属性获取项目的个数 int animalCount2 = animalArrayList.Count; Array数组是强类型化的,可以直接使用数组的类型来存储项目 即可以直接访问项目的属性和方法 例如: 对于类型是Animal的数组,Feed()是类Animal的方法 animalArray[0].Feed(); 但对于类Animal派生类的方法,就不能直接调用,需要强制转换 ((Chicken)animalArray[1]).LayEgg(); ArrayList集合是System.Object对象的集合,通过多态性赋給Animal对象 必须进行数据类型转换 例如: ((Animal)animalArrayList[0]).Feed(); ((Chicken)animalArrayList[1]).LayEgg(); 使用Remove()和RemoveAt()方法删除项目 Remove??从 ArrayList 中移除特定对象的第一个匹配项(参数为特定对象) RemoveAt?移除 ArrayList 的指定索引处的元素(参数为索引值) 删除项目后,会使其他项目在数组中移动一个位置 使用AddRange()和InsertRange()方法可以一次添加多个项目 AddRange?将 ICollection 的元素添加到 ArrayList 的末尾 InsertRange?将集合中的某个元素插入 ArrayList 的指定索引处。 例如: animalArrayList.AddRange(animalArray); 使用IndexO

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档