c#泛型是真实泛型,clr会给每个值类型生成一份native code,而为了避免类型膨胀只对引用类型生成一份nativecode(引用类型存放地址位数是固定的)。可是按照这个道理来说,应该要在方法的出口进行强制类型转换?如果这么做c#泛型的性能优势在哪里,和java的伪泛型也没啥区别啊?
2 回答
四季花海
TA贡献1811条经验 获得超5个赞
运行时能够区分泛型参数是值类型或是引用类型,即泛型参数是值类型,则查找是否有该值类型的专有版本,如果没有则创建该值类型的专有版本;如果泛型参数是引用类型,则查找是否有引用的专有版本,如果没有则创建引用的专有版本。
- 2 回答
- 0 关注
- 88 浏览
添加回答
举报
0/150
提交
取消