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



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

  

user avatar   Ivony 网友的相关建议: 
      

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

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




  

相关话题

  C#为何属性和取值相同的dynamic对象的GetHashCode()相同,直接比较两者却又不同?? 
  C# 发明者与 Java 有关系么? 
  C#的async和await底层是怎么做到的? 
  C# 虽然在语言层面上更胜 Java 一筹,但是这对于占有率真的很重要吗? 
  C#中Main方法静态是什么意思? 
  在程序里如何一本正经的胡说八道? 
  C#中的迭代器是值类型还是引用类型? 
  你遇到过哪些代码优雅的C#项目? 
  c# 双核多线程并行计算 Parallel是不是最优方案? 
  值得看的C#的开源项目有哪些? 

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





© 2025-02-22 - tinynew.org. All Rights Reserved.
© 2025-02-22 - tinynew.org. 保留所有权利