泛型听起来很高深的一个词,但实际上它的作用很简单,就是提高c#程序的性能。
比如在计算机中经常用到一些数据结构,如队列,链表等,而其中的元素以前一般这么定义:object a=new object();
这样就带来一个严重的问题,用object来表示元素没有逻辑问题,但每次拆箱、封箱就占用了大量的计算机资源,导致程序性能低下,而这部分内容恰恰一般都是程序的核心部分,如果使用object,那么程序的表现就比较糟糕。
而使用泛型则很好的解决这个问题,本质就是在编译阶段就告诉编译器,数据结构中元素的种类,既然编译器知道了元素的种类,自然就避免了拆箱、封箱的操作,从而显著提高c#程序的性能。
比如List<string>就直接使用string对象作为List的元素,而避免使用object对象带来的封箱、拆箱操作,从而提高程序性能。
可以自己编个小例子体验一下在使用数据结构时的情形,自然就理解了。
分享到:
相关推荐
C#,泛型C#,泛型C#,泛型C#,泛型C#,泛型C#,泛型C#,泛型
C#的泛型C#的泛型
泛型类、泛型方法、泛型接口、泛型委托 泛型类、泛型方法、泛型接口、泛型委托
C#泛型集合使用实例C#泛型集合使用实例C#泛型集合使用实例
C#泛型、反射实例,分层,自动生成sql语句
.net,C# 泛型示例代码.net,C# 泛型示例代码.net,C# 泛型示例代码
C#泛型,非泛型实现枚举功能,通过实现接口方法或者使用迭代器块实现
C# 泛型的好处C# 泛型的好处C# 泛型的好处
c#泛型类、泛型方法、泛型接口、泛型委托
C#泛型详解文档附实战实例代码,适合C#进阶人群,代码100%能正常运行,有问题可留言!
C# 实现泛型接口
c# 泛型应用实例, c#(vs2008)
C#【泛型】实现的【通用】结构体转字节数组,包含网上收集的网页参考资料、非通用的【StructTest】工程、泛型实现的通用【Struct2BytesGenericType】工程。 VS2010编译运行。
C#泛型使用小案例 c#经典案例.pdf
在.NET FCL为我们提供了很多...结论:如果在C#2.0版本以上,尽量使用泛型集合类,而不使用非泛型集合类。因为,1. 泛型编程是从c#2.0开始才被.net支持的。2.泛型集合在性能和类型安全方面优于非泛型集 合。 。。。。
C#泛型详解
c#泛型与集合编程.pdf
泛型事件委托,涉及了Generic , EventAgrs , Delegate
C#泛型 调研报告 可以参考下 可以用来大家一起学习下
这是一个泛型委托的示例,主要是让初学者了解泛型委托的用法,虽然很简单,但是代码有注释,我的这个例子是在vs2010中做的,用vs08的朋友们,最好还是转一下,但是绝对能实现(本程序是控制台应用程序,适合初学者)...