c#泛型的问题

c#泛型是真实泛型,clr会给每个值类型生成一份native code,而为了避免类型膨胀只对引用类型生成一份nativecode(引用类型存放地址位数是固定的)。可是按照这个道理来说,应该要在方法的出口进行强制类型转换?如果这么做c#泛型的性能优势在哪里,和java的伪泛型也没啥区别啊?


哔哔one
浏览 593回答 2
2回答

慕妹3146593

运行时能够区分泛型参数是值类型或是引用类型,即泛型参数是值类型,则查找是否有该值类型的专有版本,如果没有则创建该值类型的专有版本;如果泛型参数是引用类型,则查找是否有引用的专有版本,如果没有则创建引用的专有版本。
打开App,查看更多内容
随时随地看视频慕课网APP