日期:2014-05-18  浏览次数:20722 次

关于C#中this()的一个问题?
这是一部分代码
C# code

class Car : Automobile
{
   public Car()
   {
     AverageSpeed = 100;
   }
   
   public Car(string brand):this()   //这个this()是什么意思?
   {
     BrandStr = brand;
   }
   .
   .
   .
}



问题就是带参数的构造函数public Car(string brand):this()中的this()是什么意思?

------解决方案--------------------
表示调用不带参数的构造函数(默认构造函数)。

以此类推,如果后面带:this(int iNum)那就是调用参数为int类型的构造函数。

注意执行顺序:先:后面的函数再执行自身后面的代码。
------解决方案--------------------
调用自己其它的构造函数
------解决方案--------------------
这样避免2个构造函数编写重复的代码。
------解决方案--------------------
你甚至可以写
public Car(string brand):base()
调用父类的构造函数。
------解决方案--------------------
探讨
这是一部分代码
C# code

class Car : Automobile
{
public Car()
{
AverageSpeed = 100;
}

public Car(string brand):this() //这个this()是什么意思?
{
BrandStr = brand;
}
.
.
.……