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



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

  

user avatar   Ivony 网友的相关建议: 
      

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

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




  

相关话题

  面向对象编程中, 接口既然不能直接描述方法, 要他有何用? 
  学习C#有没有什么比较系统的资源? 
  如何在在asp项目中正常调用非托管c++dll? 
  C#的Lambda表达式捕获变量疑问? 
  同样是巨头的语言,为什么中国是 Go 最热的国家,而 C# 越来越少? 
  C#有哪些有名的依赖注入的框架? 
  在C#中,如何实现跟native dll 中途的线程间通信? 
  c# 双核多线程并行计算 Parallel是不是最优方案? 
  .NET类库中HashCodeHelper的实现原理是什么? 
  关于 C# 中「string + int」的执行机制的疑惑? 

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





© 2025-06-15 - tinynew.org. All Rights Reserved.
© 2025-06-15 - tinynew.org. 保留所有权利