更新:2007 年 11 月

结构是使用 struct 关键字定义的,例如:

C# 复制代码
public struct PostalAddress
{
    // Fields, properties, methods and events go here...
}

结构与类共享大多数相同的语法,但结构比类受到的限制更多:

  • 在结构声明中,除非字段被声明为 const 或 static,否则无法初始化。

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

  • 结构不能从类或其他结构继承。

  • 结构在赋值时进行复制。将结构赋值给新变量时,将复制所有数据,并且对新副本所做的任何修改不会更改原始副本的数据。

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

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

  • 结构可以声明带参数的构造函数。

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

  • 结构可以实现接口。

  • 结构可用作可为 null 的类型,因而可向其赋 null 值。

相关章节

请参见