结构体

作用:把某一类的变量进行整合,组成一个新的数据类型,相当于一个全新的信息。

比如:学生信息(包含年龄、姓名、身高、学号等信息)

变量保存一个学生信息:
一个学生
string name = "张三";
int age = 18;
double height = 1.75;
int ID = 12345678;

变量保存多个学生信息:

要声明很多不同的变量,这样做不仅代码量很多,占用空间也比较大。

如果要保存多个学生的信息,使用数组储存多个学生信息 ,会导致数据错乱甚至丢失。

string[] names = { "张三", "李四", "王五", "赵六" };
int[] ages = { 18, 20, 21, 22 };
double[] heights = { 1.75, 1.68, 1.78, 1.80 };

1.如何定义一个结构体

struct    声明结构体的关键字

struct Studen       //Studen    结构体的名字(类型)
{
    //结构体内部 定义数据    定义学生相关信息
    //想要收集的数据   都可以在此处定义
    //数据类型:字段
    public string name;
    public int age;
    public double height;
    public int ID;

2.如何使用一个结构体

Studen stu = new Studen();

//通过变量去操作结构体 进行数据储存
stu.name = "张三";
stu.age = 18;
stu.height = 1.75;
stu.ID = 12345;

//第二个学生
Studen stu1 = new Studen();
stu1.name = "李四";
stu1.age = 20;
stu1.height = 1.85;
stu1.ID = 1234;

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

//结构体数据与数据之间是相互隔离的,不会相互影响

 //结构体数据与数据之间是相互隔离的,不会相互影响
 Console.WriteLine(stu.name);
 Console.WriteLine(stu1.name);

4.如何去修改一个数据

stu.ID = 888888;
Console.WriteLine(stu1.ID);

5.如果有一组数据,可构建结构体数组

Studen[] stus = new Studen[5];
stus[0].name = "王五";
stus[1].name = "赵六";
Console.WriteLine(stus[0].name);

 //调用结构体中的方法,实现输出所有数据

stu.show();
stu1.show();
stus[1].show();
struct Studen       //Studen    结构体的名字(类型)
{
    //结构体内部 定义数据    定义学生相关信息
    //想要收集的数据   都可以在此处定义
    //数据类型:字段
    public string name;
    public int age;
    public double height;
    public int ID;
    //方法
    public void show()
    {

        Console.WriteLine($"{name} {age} {height} {ID}");
    }
}

以下是结构体实际应用的实例:

输入三维坐标参数,计算体积并输出。

static void Main(string[] args)
{
    //TDC tdc=new TDC();
    //tdc.x = 1;
    //tdc.y = 2;
    //tdc.z = 3;
    //tdc.show();
    TDC tdc1 = new TDC(1,2,3);
    tdc1.show();
   

}
struct TDC {
    public int x;
    public int y;
    public int z;
    public void show(){
        Console.WriteLine($"体积为:{x*y*z}");
    }
    //构造函数
    public TDC(int x, int y, int z) { 
        //this指TDC结构体
        this.x = x;
        this.y = y; 
        this.z = z;
    }
}

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐