在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
隐藏了。