好房网

网站首页 教育 > 正文

在.net中类(class)与结构(struct)的异同","title_text":"详述.NET里class和(struct的异同介绍 在.net中类(class)与结构(struct)的异同","title_text":"详述.NET里class和 struct的异同详细情况如何)

2022-08-08 21:17:53 教育 来源:
导读 想必现在有很多小伙伴对于在 net中类(class)与结构(struct)的异同","title_text":"详述 NET里class和 struct的异同方面的知识都比较

想必现在有很多小伙伴对于在.net中类(class)与结构(struct)的异同","title_text":"详述.NET里class和 struct的异同方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于在.net中类(class)与结构(struct)的异同","title_text":"详述.NET里class和 struct的异同方面的知识分享给大家,希望大家会喜欢哦。 正确答案:结构与类共享几乎所有相同的语法,但结构比类受到的限制更多: 尽管结构的静态字段可以初始化,结构实例字段声明还是不能使用初始值设定项。 结构不能声明默认构造函数(没有参数的构造函数)或析构函数。 结构的副本由编译器自动创建和销毁,因此不需要使用默认构造函数和析构函数。实际上,编译器通过为所有字段赋予默认值(参见默认值表)来实现默认构造函数。结构不能从类或其他结构继承。 结构是值类型 -- 如果从结构创建一个对象并将该对象赋给某个变量,变量则包含结构的全部值。复制包含结构的变量时,将复制所有数据,对新副本所做的任何修改都不会改变旧副本的数据。由于结构不使用引用,因此结构没有标识 -- 具有相同数据的两个值类型实例是无法区分的。C# 中的所有值类型本质上都继承自 ValueType,后者继承自 Object。 编译器可以在一个称为装箱的过程中将值类型转换为引用类型。 结构具有以下特点: l 结构是值类型,而类是引用类型。 l 向方法传递结构时,结构是通过传值方式传递的,而不是作为引用传递的。 l 与类不同,结构的实例化可以不使用 new 运算符。 l 结构可以声明构造函数,但它们必须带参数。 l 一个结构不能从另一个结构或类继承,而且不能作为一个类的基。所有结构都直接继承自 System.ValueType,后者继承自 System.Object。 l 结构可以实现接口。 l 在结构中初始化实例字段是错误的。

本文到此结束,希望对大家有所帮助。


版权说明: 本文由用户上传,如有侵权请联系删除!


标签:

最新文章: