在c#程序中,这个代码的执行顺序是什么呢,底下已经给出了两部,可是后边的顺序应该是什么呢,因为有这

2025-02-28 01:00:56
推荐回答(2个)
回答1:

这个冒号就相当于基于什么,也就是说必须后面的先完成,前面的才能继续。
这里的this就是调用本身的另一个构造函数,base就是调用基类的构造函数。
所以MyDerivedClass()晚于MyDerivedClass(int,int)晚于base(int),base就是基类,在这里,基类是MyBaseClass,而MyBaseClass中,继承自object,因此,MyBaseClass的构造函数要晚于Object的。
因此,先执行Object()构造函数
然后执行MyBaseClass(int i)构造函数
然后执行MyDerivedClass(int i,int j)构造函数
然后执行MyDerivedClass()构造函数
这样就创建了一个MyDerivedClass对象。

回答2:

先执行下面带int i, int j的构造,再执行上面调this的构造