C# 结构体

发布于:2025-07-22 ⋅ 阅读:(12) ⋅ 点赞:(0)

目录

 1.如何定义一个结构体(struct 关键字)

2.如何使用一个结构体 

3.如何修改一个数据

4.如何让去访问一个学生的信息

5、结构体数组

练习


 1.如何定义一个结构体(struct 关键字)

C#中public 、private、protect的区别

结构体 : 作用就是把某一类的变量进行整合  组成一个新的数据类型,相当于一个全新的信息   比如学生信息(包含年龄,姓名,身高,学号等信息);

 //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# 中类型定义的标准语法。


网站公告

今日签到

点亮在社区的每一天
去签到