.Net中结构和类的区别和联系
来源:互联网 发布:网络期货诈骗案 编辑:程序博客网 时间:2024/06/04 19:07
结构与类共享几乎所有相同的语法,但结构比类受到的限制更多:尽管结构的静态字段可以初始化,结构实例字段声明还是不能使用初始值设定项。
结构不能声明默认构造函数(没有参数的构造函数)或析构函数。
结构的副本由编译器自动创建和销毁,因此不需要使用默认构造函数和析构函数。实际上,编译器通过为所有字段赋予默认值(参见默认值表)来实现默认构造函数。
结构不能从类或其他结构继承。
结构是值类型 -- 如果从结构创建一个对象并将该对象赋给某个变量,变量则包含结构的全部值。复制包含结构的变量时,将复制所有数据,对新副本所做的任何修改都不会改变旧副本的数据。
由于结构不使用引用,因此结构没有标识 --具有相同数据的两个值类型实例是无法区分的。C# 中的所有值类型本质上都继承自ValueType,后者继承自 Object。编译器可以在一个称为装箱的过程中将值类型转换为引用类型。
结构具有以下特点:
结构是值类型,而类是引用类型。
向方法传递结构时,结构是通过传值方式传递的,而不是作为引用传递的。
与类不同,结构的实例化可以不使用 new运算符。
结构可以声明构造函数,但它们必须带参数。
一个结构不能从另一个结构或类继承,而且不能作为一个类的基。所有结构都直接继承自 System.ValueType,后者继承自 System.Object。
结构可以实现接口。
在结构中初始化实例字段是错误的。- .Net中结构和类的区别和联系
- 类和结构的区别与联系
- 类、接口、结构的联系和区别
- 类、接口、结构的联系和区别
- .net中类和结构的区别
- C#中结构体和类区别和联系
- .Net 中DataSet和DataTable的 区别与联系
- .Net 中DataTable和 DataRow的 区别与联系
- .Net 中DataSet和DataTable的 区别与联系
- 黑马程序员 结构和类的区别与联系
- sock结构和socket结构的区别和联系
- VB.Net中结构和类的区别
- .Net和MFC的区别与联系
- java中&和&&的区别和联系
- Java中&和&&的区别和联系
- java中&和&&的区别和联系
- java中&和&&的区别和联系
- 数据结构的逻辑结构和物理结构区别与联系
- ORACLE 两个表之间更新的实现
- Thinking In Java 第三天
- 关于InnoDB的索引大小的问题和注意事项
- 数据库表设计系列:树形结构数据
- POJ 1442 Black Box
- .Net中结构和类的区别和联系
- spring3 注解
- PHP比ASP优秀的7个理由
- MIPS体系结构 Q & A Part 0x03 CP0篇
- ant构建webservice客户端
- Android开发入门(三)
- scheduleAtFixedRate 与 scheduleWithFixedDelay 的区别
- WINDOWS API -- GetSystemMetrics()函数
- 个人认为最好的SQL注入教程