C# 结构体与类的区别
作者:互联网
C# 结构体与类的区别
1、基本的总结
- 类是引用类型,结构是值类型。
- 结构不支持继承。
- 结构不能重新添加无参的构造函数。
- 结构体中声明的字段无法赋予初值,类可以。
- 结构体的有参构造函数中,必须为结构体所有字段赋值,类的构造函数无此限制。
- 类的对象是存储在堆空间中,结构存储在栈中。堆空间大,但访问速度较慢,栈空间小,访问速度相对更快。故而,当我们描述一个轻量级对象的时候,结构可提高效率,成本更低。当然,这也得从需求出发,假如我们在传值的时候希望传递的是对象的引用地址而不是对象的拷贝,就应该使用类了。
2.创建结构体对象的方式
1)直接声明1个变量
格式:结构体类型 结构体变量名称;
这种创建方式使用的是无参的构造函数,必须辅以赋值,即要使用结构体字段之前,为这个字段赋值。
2)使用new关键字
格式:结构体类型 结构体变量名称 = new 结构体类型(初值)
这种创建方式是利用了有参的构造函数,直接在创建的时候赋初值。
标签:区别,C#,初值,对象,结构,体与类,构造函数 来源: https://blog.csdn.net/weixin_46425692/article/details/115603487