结构体
基本概念
//结构体 是一种自定义变量类型 类似枚举需要自己定义
//它是数据和函数的集合
//在结构体中 可以申明各种变量和方法
//作用:用来表现 存在关系的数据集合 比如用结构体表现学生 动物 人类等等
申明
基本语法
//1.结构体一般写在namespace语句块中
//2.结构体关键词 struct
//struct 自定义结构体名字
//{
// //第一部分
// //变量
// //第二部分
// //构造函数(可选)
// //第三部分
// //函数
//}
// 注意 结构体名字 是 帕斯卡命名法
使用
举例:
using System;
namespace Lesson_11_结构体
{
struct student
{
### 引入概念 访问修饰符
修饰结构体中的变量和方法 是否能被外部使用
public 公共的 可以被外部访问的
private 私有的 只能在内部使用
默认不写 为private
变量
public int age;
public bool gender;
在结构体中申明的变量 不可直接初始化
变量类型 可以写任意类型 包括结构体 但是 不能是自身所在结构体
### 引入概念 构造函数
基本概念
1.没有返回值
2.函数名必须和结构体同名
3.必须有参数
4.如果申明了构造函数 那么必须在其中对所有变量数据初始化
public Student(int age,bool gender)
{
新的关键字 this
代表自己
如果自定义的参数和外部传入的参数同名 借此来区分
this.age = age;
this.gender = gender;
}
函数方法 节约代码量 抽象行为
在结构体中 用来 表现这个数据结构的行为
注意 在结构体中的方法 目前不需要加static关键字
public void Speak() 比如这里就是 学生 讲话
{
函数中 可以直接使用结构体内部申明的变量
Console.WriteLine( "性别{0},年龄是{1}",gender,age);
}
}
class Program
{
static void Main(string[] args)
{
### 申明:变量类型 加变量名
Student s1; s1 部分 相当于调用了一个无参数的构造函数
s1.gender = true;
s1.age = 10;
s1.Speak();
Student s2 = new Student(18, true, );
s2 部分 相当于手动初始化
s2.Speak();
总结
1.概念:结构体 struct 是变量和函数的集合 用来表示特定的数据集合
访问修饰符:public 和 private 用来修饰变量和方法的
构造函数 : 没有返回值 函数名和结构体名相同 可以重载 主要是帮助我们快速初始化
结构体对象的
注意
1.在结构体中申明的变量 不能初始化 只能在外部或者函数中赋值
2.在结构体中申明的函数 不用加static
}
}
}
注意
public private this