第14章 泛型及泛型集合.pptVIP

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
泛型和泛型集合 目录 4. DictionaryK,V 3. ListT 2. 泛型方法与泛型类 1. 泛型思想 No 1 泛型思想 ArrayList类 : ArrayList 中存储的数据做如下操作后,然后输出. 1 整型加1 2 浮点型加0.1 3 字符串加z public void Demo1() { ArrayList al = new ArrayList(); al.Add(1); al.Add(abc); al.Add(3.5); al[0] = al[0] + 1; al[1] = al[1] + z; al[2] = al[2] + 0.1; Console.WriteLine(al[0]); Console.WriteLine(al[1]); Console.WriteLine(al[2]); } No 1 泛型思想 产生问题: public void Demo1() { ArrayList al = new ArrayList(); al.Add(1); al.Add(abc); al.Add(3.5); al[0] = al[0] + 1; //编译错误, 无法Object 与int 类型的操作。 al[1] = al[1] + z; al[2] = al[2] + 0.1; Console.WriteLine(al[0]); Console.WriteLine(al[1]); Console.WriteLine(al[2]); } No 1 泛型思想 什么是装箱、拆箱: public void Demo2() { Object objNum1 = null; int num1 = 34; int num2 = 0; objNum1 = num1; //装箱。 num2 = (int)objNum1; //拆箱 Console.WriteLine(num2); } No 1 泛型思想 问题: 性能问题 值类型数据存入ArrayList需要装箱处理,ArrayList 中数据进行处理时要进行拆箱处理,造成更多垃圾碎片,增加垃圾收集的负担,影响性能。 引用类型也有强制转换的开销 类型安全问题(更为严重) 编译时任何类型都可以转为object类型,无法保证运行时的类型安全。 目录 4. DictionaryK,V 3. ListT 2. 泛型方法与泛型类 1. 泛型思想 No 2 泛型方法与泛型类 对于多种类型数据的交换方法 public void swap(ref int num1,ref int num2){ int temp = 0; temp = num1; num1 = num2; num2 = temp; } public void swap(ref double num1, ref double num2){ double temp = 0; temp = num1; num1 = num2; num2 = temp; } No 2 泛型方法与泛型类 解决方式—定义泛型类与泛型方法 class ProgramT { public void swap(ref T num1, ref T num2) { T temp =default(T); temp = num1; num1 = num2; num2 = temp; } } No 2 泛型方法与泛型类 由此我们可以看出泛型优势: 代码复用性强。 类型安全 不会强行对值类型进行装箱和拆箱,

文档评论(0)

xiaofei2001128 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档