百科问答小站 logo
百科问答小站 font logo



对于C#里面的协变和逆变的理解的问题? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

1、因为IEnumeable<out T>,当然本质上是因为IEnumerable<T>中的T只用于输出(只出现在返回值),所以可以加out标记,而IList<T>中的T用于输入和输出(出现在参数和返回值),不能逆变协变。

2、协变和逆变的意义在于避免不必要的类型转换,简化代码和提高性能




  

相关话题

  如何动态加载dll并继承该类? 
  用c#开发桌面应用,如何做出漂亮的界面? 
  大型项目中面向过程思想 vs 面向对象思想,哪种开发效率更高? 
  ASP.NET异步改造代码性能不升反降? 
  用entity framework中查询时,是否有一种表达式最终无法翻译为sql语句? 
  C#中函数中参数问题? 
  为什么说try catch 隐藏了bug,C# try catch什么时候用? 
  C#的dynamic使用中有什么需要注意的地方,以免滥用? 
  Html.ActionLink怎么包裹其他代码? 
  为什么C#中型变不能直接修饰在类定义上? 

前一个讨论
如果你是政府决策人员,你会如何治理堵车?
下一个讨论
不知道秦琼是谁正常吗?





© 2025-04-17 - tinynew.org. All Rights Reserved.
© 2025-04-17 - tinynew.org. 保留所有权利