首先需要明确的是在C#中不叫构造函数叫做构造方法。
先说它们的不同点:
1.结构是定义在类的上面,它和类似平级的;而构造方法是类的成员,它在类的里面
2.结构是我们自己定义的,没有定义就不会存在;而构造方法:当我们定义好一个类的时候,若是我们没有写构造方法,那么系统会自动给我加上一个默认的没有参数的构造方法,在这个构造方法中,我们什么也不做,什么也看不到。而且构造方法它是一个非常特殊的方法,它的名字和类的名字相同,并且没有返回值,此时连void都不用写。
相同点没有发现,但是我知道为什么要使用结果和构造方法:
1为什么要使用结构:
(1)当我们存储一个人的信息,就要声明一组变量(如姓名、年龄、性别),这样比较复杂。
(2)存储一个人的信息时,这几个变量间没有关系,容易混乱。
eg1.public struct Person
{
public string name;
public int age; //这里边都是结构的成员
}
在Main方法中,我们就可以通过变量名.成员名来访问结构的成员
Main方法中:
{
Person oneperson; // 申明一个变量名
Person secondperson;
oneperson.name="张三";
oneperson.age=18;
secondperson.name="李四";
secondperson.age=20;
}
2.为什么使用构造方法;
(1) 对多个属性进行赋值的时候,不需要重复的写实例名
(2)可以保证用户在new一个对象的时候,必须对某一个属性进行赋值
(3)在创建对象时,对只读属性进行初始化
eg2.
在Person类中:
public Persson(string name) // 定义一个构造方法
{
this.name=name;
}
string name;
public string Name; //name属性
{
get
{
return;
}
}