构造函数后面加个这个是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/05/23 21:50:06
public StructStudent(string name, Genders gender, int age, string hobby) : this(name, gender, age, hobby, 100) { }
帮忙看看
刚刚看到,这段代码是在一个结构体中间,没有发现又父类啊

StructStudent类还有另外一个构造函数,函数声明应该是这样
public StructStudent(string name, Genders gender, int age, string hobby, int scoreMaybe){}
冒号后面this表示以给定的参数调用上面这个构造函数。
如果使用的是base(...),则是调用父类相应的构造函数。

不是调用父类的构造函数!调用父类构造函数应该是base(name, gender, age, hobby, 100)

这是调用本类的其它构造函数,并传参数(name, gender, age, hobby, 100) ,

如:
class A
{
public A(int a){}
public A(int a,int b):this(a){}
}
这表示,A类的构造函数A(int a,int b),去调用A(int a)构造函数,并传参数a

this(name, gender, age, hobby, 100)去调用父类的构造方法