在 C# 中 new 关键字据说有三种用法
本文介绍了new关键字的三种用法,下面我们来看看三种的具体使用。
说到C#里的new关键字,大家肯定不陌生,它大概是日常编码中间出现频率最高的关键字之一了。通常,我们用它来创建一个新的对象实例。但你可能不知道,这个看似简单的new,其实还有另外两副“面孔”:它既可以作为修饰符来使用,也能在泛型中充当约束条件。接下来,我们就一起把这三种用法的门道摸清楚。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

一、NEW关键字作为运算符
作为运算符的new,其核心任务就是创建类型的新实例。这是我们最熟悉的场景,比如实例化一个类、创建一个数组,甚至是初始化匿名类型,都离不开它。看几个典型的例子:
//new一个配置类
var configuration = new ConfigurationBuilder();
//创建一个字典
var dict = new Dictionary();
dict["first"] = 10;
//创建数组
var numbers = new int[3];
numbers[0] = 10;
//匿名类型实例化
var example = new { Greeting = "Hello", Name = "World" };
二、NEW关键字作为修饰符
当new扮演修饰符的角色时,它的作用就变得微妙了——用于显式隐藏从基类继承而来的成员。这意味着,在实现多态时,如果子类成员用new修饰,那么通过父类引用去调用,将不会触发子类的这个版本。通过下面的例子,你能看得更明白:
//新建父类
class people
{
public string name { get; set; }
public virtual void say()
{
Console.WriteLine("hello people");
}
}
//男人
class man : people
{
public override void say()
{
Console.WriteLine("hello man");
}
}
//女人
class woman : people
{
//这个方法被显示隐藏了
public new void say()
{
Console.WriteLine("hello woman");
}
}
static void Main(string[] args)
{
//这里不影响调用
woman w = new woman();
w.name = "小花";
w.say();
//这里隐藏了子类,会调用父类
people p = new woman();
p.name = "小花";
p.say();
//这里优先调用子类 如果找不到重写会调用父类
people p2 = new man();
p2.name = "小王";
p2.say();
}
运行上面的代码,打印结果如下:

三、NEW关键字作为泛型中约束
最后,new还能在泛型领域大显身手。作为约束条件时,new()要求泛型类型参数必须有一个公共的无参数构造函数。有个重要的前提:该类型不能是抽象类。我们来看一个具体的应用实例:
//新建一个类
public class People
{
private string name;
private int id;
public People()
{
name = "张山";
id = 0;
}
public People(string _name, int _id)
{
name = _name;
id = _id;
}
public string Name
{
get { return name; }
set { name = value; }
}
public int ID
{
get { return id; }
set { id = value; }
}
}
//使用new约束
class ItemFactory where T : new()
{
public T GetNewItem()
{
return new T();
}
}
//输出
static void Main(string[] args)
{
ItemFactory PeopleFactory = new ItemFactory();
//此处编译器会检查People是否具有公有的无参构造函数。否则会报错
Console.WriteLine("{0}'ID is {1}.", PeopleFactory.GetNewItem().Name, PeopleFactory.GetNewItem().ID);
}
//打印结果为:张山'ID is 0.
热门专题
热门推荐
5月12日,马来西亚吉隆坡成功举办了一场具有前瞻性的行业盛会——中国-马来西亚电动汽车、电池技术与新能源人才创新发展论坛。来自两国政府部门、领军企业、顶尖高校及国际组织的代表共聚一堂,深入交流了在未来产业协同、清洁能源技术创新及高端人才培养等核心领域的合作路径与机遇。 马来西亚第一副总理兼乡村及区域
具身智能要迈过的第一道硬门槛,从来都是量产。 过去几年,全球人形机器人行业反复印证了这一点:舞台演示可以很快,工程验证可以很快,视频传播也可以很快。但当一台机器人要从实验室走向产线,再走向客户现场,问题的复杂度会呈指数级上升。 特斯拉的Optimus就是一个典型的参照系。马斯克多次表达过对Optim
向朋友问路时,如果对方清楚路线,通常会立刻回答“直走然后左转”。但如果对方并不确定,往往会先停顿一下,犹豫地说“呃……好像是……往那边?”。这个开口前的短暂迟疑,往往比最终给出的答案更能说明问题——对方是否真的知道答案。 近期,美国天普大学计算机与信息科学系的一项研究,正是捕捉到了AI回答问题时类似
这项由浙江大学、华南理工大学、南京大学和北京大学联合开展的前沿研究,于2026年4月正式发布,其论文预印本编号为arXiv:2604 24575。 图像分割技术听起来或许有些专业,但它早已深度融入我们的日常生活。无论是智能手机拍摄的背景虚化人像、AI系统在CT影像中精准勾勒病灶轮廓,还是自动驾驶汽车
“大唐”预售热潮尚未平息,“大汉”已蓄势待发,比亚迪王朝系列正以前所未有的攻势,叩响高端市场的大门。 在北京车展引发轰动的比亚迪大唐,预售订单已迅速突破10万台大关,彰显了市场对比亚迪高端产品的强烈期待。而最新信息显示,汉家族即将迎来一位重磅新成员——“大汉”,这款定位D级旗舰的轿车,目标直指20-





