以下是 this 的常用用途:
1、限定被相似的名称隐藏的成员;
2、将对象作为参数传递到其他方法;
3、声明索引器;
这里主要是举例记录一下(构造函数可以使用 this 关键字调用同一对象中的另一构造函数)的用法
public class Employee
{
public int salary;
public Employee(int annualSalary)
{
salary = annualSalary;
}
public Employee(int weeklySalary, int numberOfWeeks):this(weeklySalary*numberOfWeeks)
{
}
}
public class Manager : Employee
{
public Manager(int weeklySalary, int numberOfWeeks)
: base(weeklySalary, numberOfWeeks)
{
//Add further instructions here.
}
}
class App
{
static void Main()
{
var m = new Manager(100,5);
Console.WriteLine(m.salary);
Console.ReadLine();
}
}
注意:1)this关键字代表当前类的实例,和 base 一样,this 可带参数使用也可不带参数使用,构造函数中的任何参数(指当前构造函数的参数而不是被调用构造函数的参数必须与this中指定的参数一致)都可用作 this 的参数,或者用作表达式的一部分;
2) base 是派生类调用基类时使用,而this是在同一类中使用,指的是同一对象,要分清楚使用范围;