- 5
- 0
- 约 21页
- 2016-12-19 发布于湖北
- 举报
泛型本章目标使用泛型接口对象集合缺点装箱、拆箱性能降低类型安全 泛型关于object类型:object类型可以来引用任何类型的实例;object类型可以存储任何类型的值;可以定义object类型的参数;可以把object作为返回类型。但是--这样做有很大的问题会因为程序员没有记住使用的类型而出错,造成类型不兼容;值类型和引用类型的互化即装箱拆箱使系统性能下降C#就提出,泛型就是避免强制类型转换,减少装箱拆箱提高性能,减少错误。什么是泛型集合泛型最常见的用途是创建集合类泛型集合可以约束集合内的元素类型典型泛型集合ListT,DictionaryK,VT、K,V表示该泛型集合中的元素类型ListStudentStudent对象Teacher对象允许添加不允许添加Student对象无需转换类型引入命名空间:System.Collections.GenericListStudentstudents=newListStudent();利用ListStudent存储班级集合ListT的使用students.Add(scofield);…students.Add(jacky);将Student对象加入班级将Teacher对象加入班级编译出错foreach(Studentstuinstudents){Console.WriteLine(stu.Name);}不需类型转换遍历ListStudent集合只能保存Student对象使用泛型集合ListTStudentstu1=students[2];stu1.SayHi();Students.RemoveAt(0);//ListStudent方式foreach(Studentstuinstudents){Console.WriteLine(stu.Name);}ListT的访问方式与ArrayList相同使用索引访问,无需类型转换利用索引删除遍历时不需要类型转换ListT与ArrayList访问ListT与ArrayList的对比泛型Dictionary我们经常性的操作数据信息时往往用HashTable来存储将要写入到数据库或者返回的信息,在这之间要不断的进行类型的转化,他给我们的帮助应该是非常大的,如果我们操纵的数据类型相对确定的话。 用DictionaryTKey,TValue集合类来存储数据就方便多了,例如我们需要在电子商务网站中存储用户的购物车信息(商品名,对应的商品个数)时,完全可以用Dictionarystring,int来存储购物车信息,而不需要任何的类型转化。DictionaryK,V与哈希表访问DictionaryK,V与哈希表的对比DictionaryK,V概述DictionaryK,V具有ListT相同的特性K,V约束集合中元素类型编译时检查类型约束无需装箱拆箱操作与哈希表类似存储Key和Value的集合常用属性属性说明Comparer获取用于确定字典中的键是否相等的IEqualityComparer。Count获取包含在Dictionary中的键/值对的数目。Item获取或设置与指定的键相关联的值。Keys获取包含Dictionary中的键的集合。Values获取包含Dictionary中的值的集合。常用的方法方法说明Add将指定的键和值添加到字典中。Clear从Dictionary中移除所有的键和值。ContainsKey确定Dictionary是否包含指定的键。ContainsValue确定Dictionary是否包含特定值。Equals 已重载。确定两个Object实例是否相等。(从Object继承。)GetEnumerator返回循环访问Dictionary的枚举数。GetHashCode 用作特定类型的哈希函数。GetHashCode适合在哈希算法和数据结构(如哈希表)中使用。(从Object继承。)GetObjectData实现System.Runtime.Serialization.ISerializable接口,并返回序列化Dictionary实例所需的数据。GetType 获取当前实例的Type。(从Object继承。)OnDeserialization实现System.Runtime.Serialization.ISerializable接口,并在完成反序列化之后引发反序列化事件。ReferenceEquals确定指定的Object实例是否是相同的实例。(从Object继承。)Remove从Dictionary中移除所指定的键的值。ToString 返回表示当前Object的String。(从Object继承。)TryGetValue 获取与指定的键相关联的值DictionaryK,V的使用students.Add(scofield.Name,scofie
您可能关注的文档
- TaskerⅢ型表面金属氧化详解.ppt
- TCA785移相控制芯片应用方法的改进文档详解.doc
- TD-LTE技术原理介绍详解.pptx
- E+H电导率分析仪详解.ppt
- TE31表面结构详解.pptx
- E8+病史采集+病例分析+正确答案)详解.doc
- EASV6.0合并报表新权益法操作手册详解.doc
- eBay-paypal培训详解详解.ppt
- eBay入门培训详解详解.ppt
- TEM等(武汉理工测试技术粉晶电子衍射)详解.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 原调正谱G小小蝴蝶la farfalletta钢琴伴奏高清打印版.pdf VIP
- 上海大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- 广发证券-交通银行-601328-零售转型提速,定增落地夯实资本根基.pdf
- 上海大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 循环系统护理小讲课.pptx
- 建筑屋面西瓦专项施工方案(范本).doc VIP
- 2024年山东铝业职业学院单招综合素质考试题库及答案1套.docx VIP
- 探究TIPS术后支架堵塞的影响因素及抗凝治疗的必要性:基于多维度分析与临床实践.docx
- 成品仓库出货明细表.pdf VIP
- 贵州省黔西南州2025年中考数学试卷及答案.pdf VIP
原创力文档

文档评论(0)