结构体
结构体是值类型的数据结构,用于组织和存储相关数据,可以存储各种数据类型的相关数据。
结构体定义
struct 结构体名
{
访问类型 数据类型 数据名1;
访问类型 数据类型 数据名2;……
}
struct Vector2
{
public int row;
public int col;
}
创建对象
结构体 对象名1 = new 结构体();
或者 结构体 对象名2 = 对象名1;
结构体数据使用
对象名.数据名
示例
结构体不仅可以通过 new 的方法得到一个新的对象,还能直接将旧的对象赋值给新的对象,新的对象不仅会有旧的对象的数据结构还有相关的数据信息。
struct Vector2
{
public int row;
public int col;
}
static void Main(string[] args)
{
Vector2 pos = new Vector2();
pos.row = 5;
pos.col = 6;
Vector2 pos1 = pos;
Console.Write(pos1.row);
pos1.row = 1;
Console.Write(pos.row);
Console.Write(pos1.row);
Console.ReadKey();
}
结构体与类的不同
在上述代码中,改变其中一个对象中的值的时候,会发现两者的数据其实是互不干扰的,原因是结构是值类型的数据结构,在赋值新的对象的时候实际上是拷贝了一份新的数据和结构,与类不同,类是引用类型,类是引用了同一块数据,所以结构体之间的数据是不会互相干扰的。