奇特的实例化方式

来源:3-6 【操作】构造方法与方法重载

慕莱坞0998854

2022-12-14

老师您好,在课程中有这么一段代码:

						// 这是什么写法?和lambda表达式有关系吗?
            Point c = new Point
            {
                x = 15,
                y = 10
            };

这是个什么写法呢?我习惯于Point c = new Point(15,10)的写法,看到上面这种写法有点好奇,同时,使用上面这种写法话,Point这个类必须有一个无需任何参数的构造函数,如下图:

图片描述

写回答

1回答

阿莱克斯刘

2022-12-21

其实,这就是c#新标准(其实也不是很新...)的语法糖,详情请参考msdn官方文档,如何使用对象初始值设定项初始化对象 - C# 编程指南 | Microsoft Learn,实际上在最底层还是通过调用构造方法来创建新对象的。如果你习惯于Point c = new Point(15,10)这种写法就按照你的喜好来写吧,没有硬性规定。

0
0

C#速成指南--从入门到进阶,实战WPF与Unity3D开发

系统掌握C#核心和应用,获得全行业适配的技能

839 学习 · 198 问题

查看课程