C#深入学习:泛型修饰符in,out、逆变委托类型和协变委托类型
2021-06-23 11:03
标签:rip tool .net lap line log lis 必须 arp 在C#中,存在两个泛型修饰符:in和out,他们分别对应逆变委托和协变委托。 我们知道,在C#中要想将一个泛型对象转换为另一个泛型对象时,必须要将一个泛型对象拆箱,对元素进行显式或隐式转换后重新装箱。 例如: 在这个拆箱和装箱的过程中,要消耗掉相当于lobject对象两倍的内存和资源,如果lobject对象非常大,这将是非常巨大的资源消耗。泛型修饰符就是用来解决这个问题的。 逆变泛型: 协变泛型: C#深入学习:泛型修饰符in,out、逆变委托类型和协变委托类型 标签:rip tool .net lap line log lis 必须 arp 原文地址:https://www.cnblogs.com/evemen/p/10199625.htmlList
当两个泛型对象的元素存在继承关系是,可以在实现泛型对象是为泛型元素增加in或者out声明,以便逆变或协变。ListIn:IList
--------------------- ListOut:IList
转自:https://blog.csdn.net/mykge/article/details/42918841
文章标题:C#深入学习:泛型修饰符in,out、逆变委托类型和协变委托类型
文章链接:http://soscw.com/index.php/essay/97761.html