C#泛型机制简介
C#的泛型机制算是挺早引入的,早在 2.0 就有了,跟 Java 那一套泛型思路有点像,但性能表现上更靠谱些。以前用Object
搞通用结构,写是能写,就是到处装箱拆箱,效率堪忧。泛型一上来,类型安全有了,效率也提上来了,尤其像List
、Dictionary
这些集合类,全靠它撑场子。
泛型方法也挺灵活的,比如你想写个能比较任意类型大小的函数,只要加个约束:where T : IComparable
,编译器就能帮你看住类型合法性了。你要比较两个数字谁大,就能直接用,不用再写重复代码。
泛型继承也是一大亮点。你可以定义一个通用的父类,比如BaseList
,子类自己指定具体类型,像DerivedList : BaseList
这样。这样写,复用度高,逻辑也清晰。
另外泛型跟反射配合起来还蛮妙的,像动态创建某个泛型类型的实例,在框架级开发挺常用。比如你写个 ORM 框架,泛型+反射组合拳,基本能搞定大部分类型转换和对象初始化的需求。
,C#的泛型用好了,代码更整洁也更高效。建议你多写写泛型类和方法,顺便看看这篇 List 的泛型实战,还挺有参考价值。
199.5KB
文件大小:
评论区