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



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

  

user avatar   Ivony 网友的相关建议: 
      

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

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




  

相关话题

  微软的.NET战略是不是已经失败了? 
  如何才能写出没有bug的程序? 
  .NET类库中HashCodeHelper的实现原理是什么? 
  我的一位老师说,Java 适用于大型软件而 C# 适用中小型软件。这是真的么? 
  C#有哪些有名的依赖注入的框架? 
  .Net core 自旋锁 vs Lock statement/Monitor 的开销在哪? 
  C# 和 VB 有多大相似度? 
  为什么很多做 .NET 或者大学里学 .NET 的,对任何微软或 .NET 的批评非常敏感? 
  C# 发明者与 Java 有关系么? 
  我该放弃.NET吗? 

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





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