目录
1.如何定义一个结构体(struct 关键字)
结构体 : 作用就是把某一类的变量进行整合 组成一个新的数据类型,相当于一个全新的信息 比如学生信息(包含年龄,姓名,身高,学号等信息);
//struct 声明结构的关键字
private struct Studen //Studen 结构体的名字(类型)
{
//结构体内部 定义数据 定义学生相关的信息
// 想要收集的数据 都可以在此处定义
// 字段
public string name;
public int age;
public double heigth;
public int id;
//结构体中的函数
//方法
public void Show()
{
Console.WriteLine($"{name} {age} {heigth} {id}");
}
}
2.如何使用一个结构体
//第一个学生
Studen stu = new Studen(); //使用结构体声明一个变量 这个变量就代表结构体
//通过变量去操作结构体 进行数据储存
stu.name = "张三";
stu.age = 18;
stu.heigth = 1.75;
stu.id = 123456;
// 第二个学生
Studen stu1 = new Studen();
stu1.name = "李四";
stu1.age = 20;
stu1.heigth = 1.80;
stu1.id = 000000;
3.如何修改一个数据
stu.id = 888888;
4.如何让去访问一个学生的信息
// 结构体 数据与数据之间是相互隔离的 不会相互影响
Console.WriteLine(stu.id);
Console.WriteLine(stu1.id);
5、结构体数组
//如果有一组数据 使用数组 结构体数据
Studen[] stus = new Studen[2];
stus[0].name = "王五";
stus[0].age = 21;
stus[0].heigth = 1.78;
stus[0].id = 111111;
stus[1].name = "赵六";
stus[1].age = 19;
stus[1].heigth = 1.65;
stus[1].id = 123111;
stus[0].Show();
stus[1].Show();
练习:
有一个三维坐标系,给出x,y,z,计算正方体体积
static void Main(string[] args)
{
//使用结构体内的方法赋值
Position ps = new Position(3.15,2.6,2);
//直接赋值
//ps.x = 3.15;
//ps.y = 2.6;
//ps.z = 2;
ps.Point();
}
// 定义一个表示三维坐标的结构体
// x y z
struct Position
{
//结构体中的字段
public double x;
public double y;
public double z;
//结构体中的函数
//实例化调用
//初始化赋值 数据
public Position(double x,double y,double z)
{
//this 指的是Position结构体
this.x = x;
this.y = y;
this.z = z;
}
public void Point()
{
Console.WriteLine(x*y*z);
}
}
注:在C# 结构体代码中,`Position` 有两种含义,需要结合上下文来理解:
1. **结构体名称**:`struct Position` 中的 `Position` 是这个结构体的名称,它定义了一个新的自定义类型,用于表示三维坐标(包含 x、y、z 三个属性)。
2. **构造函数**:`public Position(double x, double y, double z)` 中的 `Position` 是这个结构体的构造函数。构造函数是一种特殊的方法,它的名称必须与结构体(或类)的名称完全一致,用于在创建结构体实例时初始化其成员变量。
当你使用 `new Position(1, 2, 3)` 创建结构体实例时,就是在调用这个与结构体同名的构造函数,它会接收三个参数并为 x、y、z 赋值。 简单来说,在这个结构体中,`Position` 既是类型本身的名称,也是用于初始化该类型实例的构造函数的名称,这是 C# 中类型定义的标准语法。