当前位置: 首页 > news >正文

C# 结构体

目录

 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) //和类的名字Position必须相同{//this 指的是Position类结构体,等号前面指的是方法外层的x,y,z,等号后面是方法里的参数x,y,zthis.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# 中类型定义的标准语法。

http://www.lryc.cn/news/595567.html

相关文章:

  • C# 转换(is和as运算符)
  • XSS学习总结
  • Unreal ARPG笔记
  • 《画布角色的双重灵魂:解析Canvas小游戏中动画与碰撞的共生逻辑》
  • Spring Boot注解详解
  • 影刀 RPA:批量修改 Word 文档格式,高效便捷省时省力
  • 通俗易懂卷积神经网络(CNN)指南
  • 海康威视视觉算法岗位30问及详解
  • 多片RFSoC同步,64T 64R
  • STM32小实验四--按键控制LED灯
  • Neo4j 5.x版本的导出与导入数据库
  • 车载软件架构 --- 软件开发面临的问题
  • DAY17 常见聚类算法
  • Spring AI 集成阿里云百炼与 RAG 知识库,实现专属智能助手(框架思路)
  • SpringSecurity 详细介绍(认证和授权)
  • 广东省省考备考(第五十二天7.21)——数量、判断推理(听课后强化训练)
  • 【qml-3】qml与c++交互第二次尝试(类型方式)
  • Android MTK平台预置多张静态壁纸
  • LinkedList与链表(单向)(Java实现)
  • 跨端分栏布局:从手机到Pad的优雅切换
  • 遗像照片尺寸要求及手机制作打印方法
  • DIDCTF-2021第三届长安杯(检材一)
  • LeetCode 每日一题 2025/7/14-2025/7/20
  • Android Studio 的 Gradle 究竟是什么?
  • 力扣刷题 -- 100.相同的树
  • 4.Java创建对象有几种方式?
  • repmgr+pgbouncer实现对业务透明的高可用切换
  • ANSYS 2025 R1软件下载及安装教程|附安装文件
  • 【实战】Dify从0到100进阶--文档解读(10)参数提取HTTP节点
  • 2025年一区SCI-回旋镖气动椭圆优化算法Boomerang Aerodynamic Ellipse-附Matlab免费代码