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



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

  

user avatar   Ivony 网友的相关建议: 
      

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

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




  

相关话题

  C# 的扩展方法是否是一个糟糕的设计? 
  如何正确理解.NET 4.5和C# 5.0中的async/await异步编程模式? 
  我是不是应该放弃 C# 了? 
  为何ASP.NET MVC在github上面只能找到6.0的release? 
  C#/JavaList自定义索引? 
  C# 的 return ref 有什么具体应用? 
  为什么使用virtual关键字在C++与C#会出现不同的效果?求解答。 
  如果编程语言有性别?Java、C++、C、C#是男是女?是GAY还是LES? 
  C#中的迭代器是值类型还是引用类型? 
  C# 秒杀物品,程序如何控制并发? 

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





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