C#学习笔记(7)结构
7.1结构体的感念。
结构是程序员定义的数据类型,与类非常类似。它们有数据成员和函数成员。虽然与类相似,但是结构有许多重要的区别。最重要的区别是:
(1)类是引用类型,而结构是值类型;
(2)结构是隐式密封的,这意味着不能从它们派生其他结构。
声明结构的语法与声明类相似。
关键字
struct StructName
{
MemberDeclarations;
}
代码如下:
using System; class Program { struct Point { public int x; public int y; } static void Main() { Point node; node.x = 1; node.y = 1; Console.WriteLine($"frist point:({node.x},{node.y})"); } }
7.2结构构造函数与析构函数
跟类的构造函数基本一致,但要注意要调用构造函数则必须要使用new运算符
直接上代码:
using System; class Program { struct Point { public int x; public int y; public Point(int _x = 0 ,int _y = 0) { x = _x; y = _y; } } static void Main() { Point node1; Point node2 = new Point(); node1.x = 1; node1.y = 1; Console.WriteLine($"frist point:({node1.x},{node1.y})"); Console.WriteLine($"second point:({node2.x},{node2.y})"); } }
运行结果:

7.3属性与字段初始化语句
在声明结构体时,不允许使用实例属性和字段初始化语句,如下所示。
struct Simple
{
public int x=40;//编译错误
public int y=10;//编译错误
public int prop1{get;set;}=5;//编译错误
}
但是,结构体的静态属性和静态字段都可以在声明结构体时进行初始化,即使结构体本身不是静态的.

浙公网安备 33010602011771号