C#.Net筑基-类型系统②常见类型

01、结构体类型Struct
结构体 struct 是一种用户自定义的值类型,常用于定义一些简单(轻量)的数据结构。对于一些局部使用的数据结构,优先使用结构体,效率要高很多。

可以有构造函数,也可以没有。因此初始化时可以new,也可以用默认default。但当给字段设置了初始值时,则必须有显示的构造函数。
结构体中可以定义字段、属性、方法,不能使用终结器。
结构体可继承接口,并实现接口,但不能继承其他类、结构体。
结构体是值类型,被分配在栈上面,因此在参数传递时为值传递。

⁉️结构体始终都是分配在栈上吗?—— 不一定,当结构体是类的成员时,则会随对象一起分配在堆上。同时当结构体上有引用类型字段时,该字段只存储引用对象的地址,引用对象还是分配在堆上。

void Main()
{
Point p1 = default;
//Point p1 = default(Point);
Point p2 = new Point(1, 2);
p1.X = 100;
p2.X = 100;
}
public struct Point
{
public int X;
public......

版权声明:cnblogshot 发表于 2024-05-23 14:04:17。
转载请注明:C#.Net筑基-类型系统②常见类型 | 程序员导航网

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...