结构体声明
结构体是自定义类型
Struct 结构体名{结构体内容}
struct Student{
public string name;
public char sex;
public int age;
public string school;
public string phoneNumber;
}
using System;
namespace eStruct
{
class Program
{
//学生类型
struct Student {
public string name;
public char sex;
public int age;
}
static void Main(string[] args)
{
int num = 0;
Student xiaoming;
xiaoming.name = "xiaoming";
xiaoming.age = 16;
xiaoming.sex = 'M';
Student xiaohong;
xiaohong.name = "xiaohong";
xiaohong.age = 14;
xiaohong.sex = 'F';
//结构体类型是值类型,还是引用类型?
xiaohong = xiaoming;
xiaohong.age = 17;
Console.WriteLine(xiaoming.age);
//结构体也是值类型
}
}
}
结构体的构造函数
构造函数是构造结构体时,调用的函数;
构造函数在结构体内创建;
自定义的构造函数必须给所有的字段进行初始化赋值
public Student(string name,char sex,int age,string school,string phoneNumber) {
this.name = name;
this.sex = sex;
this.age = age;
this.school = school;
this.phoneNumber = phoneNumber;
}
using System;
namespace eStruct
{
class Program
{
//学生类型
struct Student {
public string name;
public char sex;
public int age;
//自定义构造函数
public Student(string n, char s, int a) {
this.name = n;
this.sex = s;
this.age = a;
}
}
static void Main(string[] args)
{
int num = 0;
Student xiaoming;
xiaoming.name = "xiaoming";
xiaoming.age = 16;
xiaoming.sex = 'M';
Student xiaohong;
xiaohong.name = "xiaohong";
xiaohong.age = 14;
xiaohong.sex = 'F';
//结构体类型是值类型,还是引用类型?
xiaohong = xiaoming;
xiaohong.age = 17;
Console.WriteLine(xiaoming.age);
//结构体也是值类型
Student xiaowang = new Student("xiaowang", 'F', 16);
}
}
}