this 关键字只能在类的构造函数,类的方法和类的实例中使用,他的含义是 1。类的构造函数中的this表示正在构造对象本身的引用 2。在类的方法表示对调用改对象的引用 3。在结构的方法中出现表示对调用该方法的结构的引用 4。在结构的构造函数中出现表示对正在结构的结构引用using System; public Class Employee { public class Employee { public string name; public decimal salary; public Employee(string name,decimal salary) { this.name=name; this.salary=salary; } public void DiaplayEmployee() { Console.Writeline("姓名:{0}",name); Console.Writeline("薪水:{1}",salary); //用this方法将当前对象传给Tax.CalcTax()方法 Console.WriteLine("个人所得税:{0}",Tax.CalcTax(this)); } } public class Tax { public static decimal CalcTax(Employee E) { return(0.14m*(E.salary-800m)); } public class sample { public static void Main() { Employee e = new Employee("MagicFly",8000m); e.DisplayEmployee(); } } } }
比如下例加THIS与不加THIS有何不同 private string endReason; public string EndReason { get { return this.endReason; } set { this.endReason=value; } }
那THIS有什么存在的必要?调用的时候还不都一样?
除了 snewxf(心疤) 说得好区分,还有一个作用就是表示本类的一个对象,当需要传递一个本类的对象时用,例如:public class Form1 { Form2 myForm = new Form2(); myForm.Show(); myForm.F1(this); //注意这句话,没有this,是无法完成的 }public class Form2 { public void F1(Form1 aForm) { aForm.........; } }我想这个才是他的主要作用,表示本类的一个对象.Hope it helps a little. ---------------------------------------- To teach a fish how to swim.
但只能是当前的!
1。类的构造函数中的this表示正在构造对象本身的引用
2。在类的方法表示对调用改对象的引用
3。在结构的方法中出现表示对调用该方法的结构的引用
4。在结构的构造函数中出现表示对正在结构的结构引用using System;
public Class Employee
{
public class Employee
{
public string name;
public decimal salary;
public Employee(string name,decimal salary)
{
this.name=name;
this.salary=salary;
}
public void DiaplayEmployee()
{
Console.Writeline("姓名:{0}",name);
Console.Writeline("薪水:{1}",salary);
//用this方法将当前对象传给Tax.CalcTax()方法
Console.WriteLine("个人所得税:{0}",Tax.CalcTax(this));
}
}
public class Tax
{
public static decimal CalcTax(Employee E)
{
return(0.14m*(E.salary-800m));
}
public class sample
{
public static void Main()
{
Employee e = new Employee("MagicFly",8000m);
e.DisplayEmployee();
}
}
}
}
private string endReason;
public string EndReason
{
get
{
return this.endReason;
}
set
{
this.endReason=value;
}
}
{ Form2 myForm = new Form2();
myForm.Show();
myForm.F1(this); //注意这句话,没有this,是无法完成的
}public class Form2
{
public void F1(Form1 aForm)
{
aForm.........;
}
}我想这个才是他的主要作用,表示本类的一个对象.Hope it helps a little.
----------------------------------------
To teach a fish how to swim.