new 三种应用

new 这个关键字在我们程序代码中可畏是太常见了,正是因为这么的不起眼,所以大家都忽略了它的应用,可能提到它,大家都会说就是新建一个对像嘛。最近正在复习一些基础知识,就小结一下:

1、new 运算符

当new 关键字作为new 运算符时,可以用来创建对象和调用构造函数、创建匿名类型的实例、调用值类型的默认构造函数等。

例:object o=new object();//使用new运算符创建一个类型为object的对象o。

例:var query=from c in list select new {Name=c.Name};//创建一个匿名类型的实例

例:int i=new int();//调用int 类型默认构造函数

 

2、new 修饰符

new 作为修饰符时,可以用来显式隐藏从基类继承的成员。

例:

public class A{

  public int x;

  ……

}

public class B:A

{

  new public int x;

  ……

}

B b=new B();

int i=b.x;//B类实例b的x 成员

 

3、new 约束

用于在泛型声明中约束可能用作类型参数的类型。new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。如果该类型参数存在多个约束,则new()约束必须最后指定。

例:public class A<T> where T:class,new()

{

  ……

}//创建名称为A<T>泛型类型,并指定了约束,指定了该类型参数T必须为引用类型(由class指定)或者具有无参数的构造函数。

 

          

 

posted on 2010-07-21 23:29  ShinyTang  阅读(434)  评论(2编辑  收藏  举报

导航

作者:LucyTangLucyTang's Blog on 博客园
出处:http://www.cnblogs.com/jing870812/

本作品由LucyTang创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言