摘要:C#4.0新特性之(四)新的LINQ扩展方法-Zip()1.简介 所谓zip(中文有拉链的意思),就是像拉链一样,把两个list缝合在一起。Python中有个zip函数可以用来方便的合并两个或者多个集合,例如:[代码]以上代码会打印出Freesc HuangJoshua GuanKen Wang在C#4.0中,我们可以看到一个类似的扩展函数[1]:代码2 Code highlighting pr...
阅读全文
摘要:C#4.0新特性之(三)协变与逆变1.C#3.0以前的协变与逆变 如果你是第一次听说这个两个词,别担心,他们其实很常见。C#4.0中的协变与逆变[1](Covariance and contravariance)有了进一步的完善,主要是两种运行时的(隐式)泛型类型参数转换。简单来讲,所谓协变(Covariance)是指把类型从“小”升到“大”,比如...
阅读全文
摘要:C#4.0新特性之(二)命名参数,可选参数与COM互操作1.简介 之前C#(2.0)和java一样是一门的纯粹的面向对象的语言,他们都使用重载而不是可选参数。但是实际上使用的其他外部程序,COM组件却经常不要求指定所有参数(这在很多VC,VB编写的组件或者操作IronPython的对象的时候很常见,他们一直使用可选参数)。这会导致一个C#程序员不得不用Type.Missing塞满整个参数列表。不...
阅读全文