C#泛型自己的理解和总结

万事开头难,今天先从随笔开端,记录工作中平时不太注意到的知识点。今天开端说下泛型。

泛型在我们项目中很是常见,运用很广泛,我觉的它有以下几个长处。
1.安全性。
2.功能。
3.二进制代码的重用。
4.代码的扩展。
下面从代码方面分析下这些长处。
1.安全性。
这段代码只要运行起来的时分才会报错,秉着错误得先发现的原则,这种写法不合适。
1vartext=newArrayList();2text.Add(44);3text.Add(“mystring”);4foreach(intitemintext)5{6Console.Write(item);7}

C#


假如换成泛型,试试看。
1varlist=newList<int>();2list.Add(44);3list.Add(“mystring”);//会编译器会直接报错
2.功能。
相同运用非泛型调集,添加数据,并输出。可以看出,添加进调集进行了装箱操作,赋值的时分又进行了拆箱操作。一装一拆功能就会影响功能。
1vartext=newArrayList();2text.Add(12);3inta=(int)text[0];
假如换成泛型,试试看。泛型定义为int,int类型在编译器动态生成的类中运用,不会进行装箱和拆箱的操作。
1varlist=newList<int>();2list.Add(44);3intb=list[0];
3.二进制代码的重用。
泛型可以运用多个类型来进行实例化。
1varlist=newList<int>();2list.Add(44);3varstr=newList<string>();4str.Add(“str”);5varStudentclass=newList();6Studentclass.Add(newStudent());
4.代码的拓展。
对不同的类型的泛型,进行实例化的时分,程序编译的时分,假如是引用类型,一切实例化的类都共用同一个本地类相同的完成代码,假如是值类型,会为每个值类型实例化一个新类。

© 版权声明
好牛新坐标
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章