C#2.0 的新增功能学习

  虽然已经决定做本专业了,但以后可能还是要做一些programming。其实做programmer真的好累,要不断的学习新东西,虽然以前很喜欢接触新事物,但是现在好像没有那种冲动了。.net 2.0虽然2005年就已经推出来了,中间加了很多新东东,但由于项目中一直没有用到,也懒得学。现在项目结束了,也快毕业了,好好看看.net 2.0较1.0带来的变化吧。本文极后续学习文章完全参考MSDN。

随着 Visual Studio 2005 的发布,C# 语言已更新为 2.0 版,它支持下列新功能:

泛型

该语言中添加了一些泛型类型,使得程序员能够实现程度很高的代码重用,获得更高的集合类性能。泛型类型只存在 arity 上的不同。也可以将参数强制为特定的类型。

迭代器

迭代器使得规定 foreach 循环将如何循环访问集合的内容变得更加容易。

分部类

分部类型定义允许将单个类型(比如某个类)拆分为多个文件。Visual Studio 设计器使用此功能将它生成的代码与用户代码分离。

可空类型

可空类型允许变量包含未定义的值。在使用数据库和其他可能包含未含有具体值的元素的数据结构时,可以使用可空类型。

匿名方法

现在,可以将代码块作为参数来传递。在本应使用委托的任何地方,都可以使用代码块来取代:不需要定义新的方法。

命名空间别名限定符

命名空间别名限定符 (::) 对访问命名空间成员提供了更多控制。global :: 别名允许访问可能被代码中的实体隐藏的根命名空间。

静态类

若要声明那些包含不能实例化的静态方法的类,静态类就是一种安全而便利的方式。C# 1.2 版要求将类构造函数定义为私有的,以防止类被实例化。

外部程序集别名

通过 extern 关键字的这种扩展用法引用包含在同一程序集中的同一组件的不同版本。

属性访问器可访问性

现在可以为属性的 get 和 set 访问器定义不同级别的可访问性。

委托中的协变和逆变

现在传递给委托的方法在返回类型和参数方面可以具有更大的灵活性。

如何:声明、实例化和使用委托

方法组转换为声明委托提供了一种更简单的语法。

固定大小的缓冲区

在不安全的代码块中,现在可以声明包含嵌入数组的固定大小结构。

友元程序集

程序集可以提供对其他程序集的非公共类型的访问。

内联警告控制

#pragma 警告指令可用于禁用和启用某些编译器警告。

volatile

现在可以将 volatile 关键字应用于 <mshelp:link tabindex="" keywords="T:System.IntPtr">IntPtr</mshelp:link> 和 <mshelp:link tabindex="" keywords="T:System.UIntPtr">UIntPtr</mshelp:link>。



你可能感兴趣的:(数据结构,C++,c,.net,C#)