关于C#中this()的一个问题?

CST08055 2012-03-14 09:44:28
这是一部分代码

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

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


问题就是带参数的构造函数public Car(string brand):this()中的this()是什么意思?
...全文
115 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用楼主 cst08055 的回复:]
这是一部分代码
C# code

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

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

也就是 这个了:


public Car()
{
AverageSpeed = 100;
}
其实楼上说的很对,你换成base也行。效果是一样的。
  • 打赏
  • 举报
回复
[Quote=引用楼主 cst08055 的回复:]
这是一部分代码
C# code

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

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

楼主,那个 this 指的就是 Car() 无参这个 构造函数。
threenewbee 2012-03-14
  • 打赏
  • 举报
回复
你甚至可以写
public Car(string brand):base()
调用父类的构造函数。
threenewbee 2012-03-14
  • 打赏
  • 举报
回复
这样避免2个构造函数编写重复的代码。
挨踢直男 2012-03-14
  • 打赏
  • 举报
回复
调用自己其它的构造函数
暖枫无敌 2012-03-14
  • 打赏
  • 举报
回复
可以这么理解,有参数的构造函数需要执行无参构造函数中的代码,为了省去重复代码的编写,所以就继承了。
暖枫无敌 2012-03-14
  • 打赏
  • 举报
回复
表示调用不带参数的构造函数(默认构造函数)。

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

注意执行顺序:先:后面的函数再执行自身后面的代码。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧