在C#中,new关键字有三种主要的用法:
- 创建对象:这是
new关键字最常见的用法。当你需要创建一个新的对象实例时,可以使用new关键字。例如,Person person = new Person();这行代码创建了一个新的Person对象。 - 隐藏基类成员:当你在派生类中重新定义了一个与基类中同名的成员时,可以使用
new关键字来隐藏基类中的成员。例如,如果你有一个基类Animal和一个派生类Dog,并且它们都有一个名为Speak的方法,那么你可以在Dog类中使用new关键字来隐藏Animal类中的Speak方法²。 - 泛型类型约束:在声明泛型类或方法时,你可以使用
new()约束来指定类型参数必须具有无参数的公共构造函数⁴。
当然,以下是一些使用 new 关键字的代码示例:
- 创建对象:
new关键字最常见的用法是创建一个新的对象实例。例如,下面的代码创建了一个新的Calculate对象:
Calculate c = new Calculate();- 创建数组:你也可以使用
new关键字来创建一个数组。例如,下面的代码创建了一个新的double类型的数组:
double[] points = new double[10];- 隐藏基类成员:当你在派生类中重新定义了一个与基类中同名的成员时,可以使用
new关键字来隐藏基类中的成员。例如,如果你有一个基类BaseC和一个派生类DerivedC,并且它们都有一个名为Invoke的方法,那么你可以在DerivedC类中使用new关键字来隐藏BaseC类中的Invoke方法¹。
public class BaseC
{
public void Invoke()
{
Console.WriteLine("Base - Invoke");
}
}
public class DerivedC : BaseC
{
new public void Invoke()
{
Console.WriteLine("Derived - Invoke");
}
}在这个示例中,BaseC.Invoke 被 DerivedC.Invoke 隐藏了。










