this可以引用当前对象的一切成员,包括继承的基类成员,怎么会用错呢?举个例子来看看?

解决方案 »

  1.   

    可以这样理解用this来给当前对象起一个方便的名字!
    但只能是当前的!
      

  2.   

    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();
    }
    }
    }
    }
      

  3.   

    比如下例加THIS与不加THIS有何不同
                  private string endReason;
    public string EndReason
    {
    get
    {
    return this.endReason;
    }
    set
    {
    this.endReason=value;
    }
    }
      

  4.   

    那THIS有什么存在的必要?调用的时候还不都一样?
      

  5.   

    除了 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.
      

  6.   

    可以这样理解,this就是指向类自己的引用.(就相当于第一人称"我")