C#泛型自己的理解和总结(c1驾照能开什么车)

网友投稿 262 2022-06-19


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

泛型在我们项目中很是常见,使用很广泛,我觉的它有以下几个优点。

1.安全性。

2.性能。

3.二进制代码的重用。

4.代码的扩展。

下面从代码方面分析下这些优点。

1.安全性。

这段代码只有运行起来的时候才会报错,  秉着错误得先发现的原则,这种写法不合适。

如果换成泛型,试试看。

1 var list = new List();

2 list.Add(44);

3 list.Add("mystring");//会编译器会直接报错

2.性能。

同样使用非泛型集合,添加数据,并输出。    可以看出,添加进集合进行了装箱操作,赋值的时候又进行了拆箱操作。一装一拆性能就会影响性能。

1 var text = new ArrayList();

2 text.Add(12);

3 int a = (int)text[0];

如果换成泛型,试试看。   泛型定义为int,int类型在编译器动态生成的类中使用,不会进行装箱和拆箱的操作。

1 var list = new List();

2 list.Add(44);

3 int b = list[0];

3.二进制代码的重用。

泛型可以使用多个类型来进行实例化。

4.代码的拓展。

对不同的类型的泛型,进行实例化的时候,程序编译的时候,如果是引用类型,所有实例化的类都共用同一个本地类相同的实现代码,如果是值类型,会为每个值类型实例化一个新类。

第一次开始记录,有错误的地方,希望大家多多包涵。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:C# 矢量图EMF 总结(count)
下一篇:数据结构之Array、ArrayList、List、LinkedList对比分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~