什么是'this'构造函数,它是什么

Ama*_*ock 2 .net c# constructor this

我正处于学习过程中,我有一个问题,我找不到满意的答案.

this我需要一个破旧的东西.我一直看到它,人们已经建议修复我使用它的代码.我真的不知道它究竟是做什么的.如果有人愿意给我一个基本的破坏,我会非常高兴.

McG*_*gle 10

它用于引用同一个类中的另一个构造函数.您使用它来"继承"另一个构造函数:

public MyClass() {}

public MyClass(string something) : this() {}
Run Code Online (Sandbox Code Playgroud)

在上面,当调用第二个构造函数时,它在执行自身之前首先执行无参数构造函数.请注意,using : this()是等效的: base(),除了它指的是同一个类中的构造函数,而不是父类.

这里有一篇关于构造函数的文章(MSDN),它提供了一个用法示例:

public Employee(int annualSalary)
{
    salary = annualSalary;
}

public Employee(int weeklySalary, int numberOfWeeks)
    : this(weeklySalary * numberOfWeeks)
{
}
Run Code Online (Sandbox Code Playgroud)