有了命名实参, 可选参数的变得更加强大了是不是? 哈哈, 确实是这样.
2,泛型的可变性
在C#2.0 中, 泛型并不具备可变性, 这种是指斜变性和逆变性....而在C#4.0中引入了泛型的协变性和逆变性.
2.1协变性
协变性指的是泛型类型参数可以从一个派生类隐式转化为基类....C#4.0引入out关键字来标记泛型参数, 以示其支持协变性....AddRange方法接收的参数类型为IEnumerable, 该接口的定义为IEnumerable, 因为其泛型参数有out关键字标识,
所以IEnumerable泛型的类型参数...#4.0引入in关键字来标记泛型参数, 以示其支持逆变性.