C#结构体的特点浅析

开发 后端
C#结构体的特点有哪些呢?C#结构体与类的区别是什么呢?本文就向你介绍相关的内容。

C#结构体的特点是什么呢?让我们来看看:

C#结构体之struct 类型是一种值类型,通常用来封装小型相关变量组,例如,矩形的坐标或库存商品的特征。下面的示例显示了一个简单的结构声明。

  1. public struct PostalAddress  
  2. {  
  3. // Fields, properties, methods and events go here...  

结构与类共享几乎所有相同的语法,但结构比类受到的限制更多:

尽管结构的静态字段可以初始化,结构实例字段声明还是不能使用初始值设定项。

结构不能声明默认构造函数(没有参数的构造函数)或析构函数。

C#结构体之结构的副本由编译器自动创建和销毁,因此不需要使用默认构造函数和析构函数。实际上,编译器通过为所有字段赋予默认值(参见默认值表)来实现默认构造函数。结构不能从类或其他结构继承。

结构是值类型 -- 如果从结构创建一个对象并将该对象赋给某个变量,变量则包含结构的全部值。复制包含结构的变量时,将复制所有数据,对新副本所做的任何修改都不会改变旧副本的数据。由于结构不使用引用,因此结构没有标识 -- 具有相同数据的两个值类型实例是无法区分的。C# 中的所有值类型本质上都继承自 ValueType,后者继承自Object。

C#结构体之编译器可以在一个称为装箱的过程中将值类型转换为引用类型。

C#结构体之结构具有以下特点:

结构是值类型,而类是引用类型

向方法传递结构时.结构是通过传值方式传递的,不是作为引用方式传递.

与类不同,结构的实例化可以不使用new运算符.

结构可以声明构造函数,但他们必须带参数

一个结构不能从另一个结构或类继承,而且不能作为一个类的基。所有结构都直接继承自 System.ValueType,后者继承自 System.Object。

C#结构体之结构可以实现接口。

在结构中初始化实例字段是错误的。

C#结构体的相关内容就向你介绍到这里,希望对你了解C#结构体有所帮助。

【编辑推荐】

  1. C#读写ini文件详解
  2. C#读取配置文件详解
  3. C#读取Excel的简单实现
  4. C#读取Excel数据简析
  5. C#读取Excel遇到无法读取的解决方法
责任编辑:仲衡 来源: 百度空间
相关推荐

2009-08-13 13:29:04

C#结构体使用

2009-08-27 16:18:47

C#类C#结构体

2009-08-13 14:56:46

C#的结构体使用

2009-08-31 15:02:22

C#解析结构体指针

2009-08-13 14:06:37

C#结构体结构体和类的区别

2009-08-13 13:03:52

C#结构体数组

2009-08-25 17:59:49

C#入门

2009-08-13 18:02:11

C#静态构造函数

2009-08-14 11:05:28

C#语言的结构体

2009-08-13 14:46:03

C#结构体定义

2009-08-27 13:05:06

C#接口特点C#接口实例

2009-09-23 09:36:34

C#数组

2009-08-13 14:24:44

C#结构体构造函数

2009-08-13 15:03:58

C#结构体变量

2009-08-18 17:42:12

C#操作符重载

2009-07-30 18:36:00

C#接口C#抽象类

2009-08-13 13:17:10

C#结构体数组

2009-08-13 15:41:50

C#结构体指针

2009-08-13 14:36:40

C#结构体构造函数

2009-08-17 18:34:50

C# ChangeCo
点赞
收藏

51CTO技术栈公众号