网站建设对于企业的意义,欧莱雅的网络营销策划方案,政务网站建设需求分析,厦门网站建设公司文章目录结构体的定义和使用实例类和结构体的关系博主写作不容易#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行
结构体与类相似#xff0c;通常用来封装小型的相关变量组#xff0c;例如#xff0c;学生的学号、姓名、性别、年龄等。结构是一种值类型孩子需要您鼓励 万水千山总是情 , 先点个赞行不行
结构体与类相似通常用来封装小型的相关变量组例如学生的学号、姓名、性别、年龄等。结构是一种值类型通常创建结构要比创建类的速度快。如果需要一些紧凑循环需要在其中创建大量的新数据结构则应考虑结构体而不是类。
结构体的定义和使用
在C#中可以将结构看成轻量级的类。定义结构的定义类相似采用struct进行定义每个struct类型数据可以是常量、变量、构造函数、方法和属性等成员。 语法格式如下访问修饰符 struct 结构名{//结构体定义}使用结构通过声明结构体变量或使用new来实例化结构体对象然后通过“结构体变量.结构成员名”或“结构对象.结构成员”的方式来使用结构。
实例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace test
{class Program{static void Main(string[] args){Student Stu1;Stu1.stuNum 14031403;Stu1.stuName 小明;Stu1.stuAge 19;Stu1.stuClass 1;Stu1.stuGrade 12;Console.WriteLine(结构体演示);Console.WriteLine(学生 Stu1.stuName .ToString():);Console.WriteLine(学号{0},年龄{1},年级{2},班级{3},Stu1.stuNum,Stu1.stuAge,Stu1.stuGrade,Stu1.stuClass);Stu1.ChengeStudentInf(14031403, 小明, 19, 1, 13);Console.WriteLine(调用结构体方法演示);Console.WriteLine(学生 Stu1.stuName .ToString() :);Console.WriteLine(学号{0},年龄{1},年级{2},班级{3}, Stu1.stuNum, Stu1.stuAge, Stu1.stuGrade, Stu1.stuClass);Student stu2 new Student(14081408, 小王, 18, 3, 12);Console.WriteLine(调用结构体构造函数演示);Console.WriteLine(学生 stu2.stuName .ToString() :);Console.WriteLine(学号{0},年龄{1},年级{2},班级{3}, stu2.stuNum, stu2.stuAge, stu2.stuGrade, stu2.stuClass);Console.ReadKey();}}public struct Student //定义结构体Student{public String stuNum; //定义结构成员表示学生学号public String stuName; //定义结构成员表示学生名字public int stuAge; //定义结构成员表示学生年龄public int stuClass; //定义结构成员表示学生班级public int stuGrade; //定义结构成员表示学生年级public Student(String stuNum, String stuName, int stuAge, int stuClass, int stuGrade){ //结构体的构造函数用参数给成员赋值this.stuNum stuNum;this.stuName stuName;this.stuAge stuAge;this.stuClass stuClass;this.stuGrade stuGrade;}public void ChengeStudentInf(String stuNum, String stuName, int stuAge, int stuClass, int stuGrade){ //结构体的方法函数用参数改变成员的值this.stuNum stuNum;this.stuName stuName;this.stuAge stuAge;this.stuClass stuClass;this.stuGrade stuGrade;}}}运行结果
类和结构体的关系
类和结构体都是创建对象的模板都可以包含构造函数、常数、字段、方法、属性、索引器和运算符等成员。二者区别如下
结构体是值类型类是引用类型在内存中结构体是储存在堆栈上的值类型类是储存在堆上的引用类型。结构的构造函数和类的构造函数不同结构不能包含显式的无参构造函数结构成员会自动初始化为他的默认值。结构不能包含以下形式的初始值设定类base参数列表对于结构体中的实例字段成员不能在声明时初始化。声明了结构体类型后可以使用new运算符创建构造对象也可以不使用new关键字。如果不使用new那么在初始化所有字段前字段将保持未赋值状态且对象不可用。结构体不支持继承即一个结构体不能从另一个结构或类继承而且不能作为一个类的基类。 博主简介工业自动化上位机软件工程师、机器视觉算法工程师、运动控制算法工程师。目前从业于智能制造自动化行业。 博主邮箱2296776525qq.com 帮忙点个赞吧。哈哈。