C#四部曲基础——复杂数据类型(结构体)
·
一.基本概念
结构体是一种自定义变量类型(类似枚举需要自己定义)
它是数据和函数的集合
在结构体中,可以申明各种变量和方法
作用:用来表现存在关系的数据集合 比如用结构体表现学生,动物,人类等等
二.基本语法
结构体一般写在namespace语句块中(函数写在结构体(struct)或者类(class)语句块中)
结构体关键字 struct
struct 自定义结构体名(建议英文)
{
//第一部分
//变量
//第二部分
//构造函数(可选)
//第三部分
//函数
}
注意:自定义结构体名 用帕斯卡命名法
三.实例
struct Student
{
//变量
//年龄,性别,学号,姓名
int age;
bool sex;
string studentNumber;
string name;
//变量类型可以写任何类型(包括结构体)但不能是自己的结构体
//Student s;
A a;
//构造函数
//函数方法
//表现这个数据结构的行为
//注意:在结构体中的函数 目前不需要添加static关键字
void Speak()
{
Console.WriteLine("我的名字是{0},我今年{1}岁",name,age);
}
//可以写很多函数
}
struct A
{
int i;
}
四.访问修饰符
修饰结构体中的变量和函数(方法)是否能够被外部使用
public 公开的 可以被外部访问和使用
private 私有的 只能在内部使用
默认不写就是 变量和函数(方法)默认为private
五.结构体的使用
struct Student
{
public int age;
public bool sex;//true(男) false(女)
public string studentNumber;
public string name;
public void Speak()
{
Console.WriteLine("我的名字是{0},我今年{1}岁,学号为{2}",name,age,studentNumber);
if(sex)
{
Console.WriteLine("我的性别为男");
}
else
{
Console.WriteLine("我的性别为女");
}
}
}
class Program
{
static void Main(string[] args)
{
//申明一个学生s1
Student s1;
s1.name = "念陈";
s1.studentNumber = "111111";
s1.sex = true;
s1.age = 21;
s1.Speak();
//再申明一个学生s2
Student s2;
//s2.age = 17;
}
}
六.结构体的构造函数
1.基本概念
(1)没有返回值
(2)函数名必须和结构体名相同
(3)必须有参数
(4)如果申明了构造函数,那么必须对其中所有变量数据初始化
struct Student
{
public int age;
public bool sex;//true(男) false(女)
public string studentNumber;
public string name;
//构造函数一般便于外部初始化的
public Student(int age,bool sex,string studentNumber,string name)
{
//为了区别自己和传进来的变量
//新的关键字 this 代表自己
this.age = age;
this.sex = sex;
this.studentNumber = studentNumber;
this.name = name;
}
public void Speak()
{
Console.WriteLine("我的名字是{0},我今年{1}岁,学号为{2}",name,age,studentNumber);
if(sex)
{
Console.WriteLine("我的性别为男");
}
else
{
Console.WriteLine("我的性别为女");
}
}
}
class Program
{
static void Main(string[] args)
{
//利用构造函数初始化
Student s2 = new Student(17,false,"222222","忧郁");
s2.Speak();
}
}
2.作用
构造函数一般用于方便结构体初始化
更多推荐
所有评论(0)