this关键字的用法及举例?SOS!望好心的歇歇脚给小女子分析分析谢谢!

解决方案 »

  1.   

    this 关键字引用类的当前实例,还可用作扩展方法的第一个参数的修饰符。说明: 
    本文讨论对类实例使用 this。有关其在扩展方法中使用的更多信息,请参见扩展方法(C# 编程指南)。
     以下是 this 的常用用途:限定被相似的名称隐藏的成员,例如:C#  复制代码 
    public Employee(string name, string alias)
    {
        // Use this to qualify the fields, name and alias:
        this.name = name;
        this.alias = alias;
    }
     将对象作为参数传递到其他方法,例如:  复制代码 
    CalcTax(this);
     声明索引器,例如:C#  复制代码 
    public int this[int param]
    {
        get { return array[param]; }
        set { array[param] = value; }
    }
     由于静态成员函数存在于类一级,并且不是对象的一部分,因此没有 this 指针。在静态方法中引用 this 是错误的。示例
    在本例中,this 用于限定 Employee 类成员 name 和 alias,它们都被相似的名称隐藏。this 还用于将对象传递到属于其他类的方法 CalcTax。C#  复制代码 
    class Employee
    {
        private string name;
        private string alias;
        private decimal salary = 3000.00m;    // Constructor:
        public Employee(string name, string alias)
        {
            // Use this to qualify the fields, name and alias:
            this.name = name;
            this.alias = alias;
        }
        // Printing method:
        public void printEmployee()
        {
            Console.WriteLine("Name: {0}\nAlias: {1}", name, alias);
            // Passing the object to the CalcTax method by using this:
            Console.WriteLine("Taxes: {0:C}", Tax.CalcTax(this));
        }    public decimal Salary
        {
            get { return salary; }
        }
    }class Tax
    {
        public static decimal CalcTax(Employee E)
        {
            return 0.08m * E.Salary;
        }
    }class MainClass
    {
        static void Main()
        {
            // Create objects:
            Employee E1 = new Employee("Mingda Pan", "mpan");        // Display results:
            E1.printEmployee();
        }
    }
    /*
    Output:
        Name: Mingda Pan
        Alias: mpan
        Taxes: $240.00
     */ 
      

  2.   

    this关键字,表示对当前对象的一个引用,例如在Form的代码中,你用
    this.TextBox1,就可以访问到窗体上的TextBox1,因为窗体上有这个对象,是这个对象的一个成员,this表示窗体对象,this.TextBox1,就表示窗体对象里面定义的那个TextBox1
      

  3.   

    public class Student()
    {
        private string name;
        public string Name(string name)
        {
            this.name = name;
        }
    }
      

  4.   


    class A
    {
       private int a;
       public void SetA(int num)   
       {
          a=num;
       }
    }以上a=num其实是this.a=num;
    this存在实例方法中(非静态方法),代表当前对象,即每个this的值为对应对象在内存中的地址
    A a=new A();//系统先为a分配内存空间,接着把内存地址赋给a的this,然后调用A类的构造函数
      

  5.   

    http://msdn.microsoft.com/zh-cn/library/dk1507sz(VS.80).aspx
    http://msdn.microsoft.com/zh-cn/library/dk1507sz(VS.90).aspx
      

  6.   

    关于this指针的具体概念楼主可以到网上查找一下,有很多很好的介绍,这里就不说了.
    简单点说.我们知道我们编写的程序在内存中主要分为至少两个部分,一是代码部分,一是数据部分.
    一个类可以产生多个实例,而这些实例在的数据可能不能,在内存中被保存为多个部分.而代码部分其实只保存
    一份,那么如何知道当前的代码是在哪个实例的数据上进行执行,这里在这行时就会传入一个指针过去.告诉当前代码在指定数据域执行,这是就需要用到this指针,你可能不需要使用,但是.net会给你在后台处理掉的.
      

  7.   

    简单的说 你定义了一个实例变量 int number;
    属性 public int S(int number)
    {
       this.number=number;//属性中的参数与实例变量同名,使用this关键字可以将参数引用到的值指向当前的实例变量并且赋值给它
    }   this指向当前要引用的对象}
      

  8.   

    我用个通俗的事来解释吧!
    我要杀鸡
    我要吃饭他要杀鸡
    他要吃饭这个我,就是this!
      

  9.   

    this , 引用当前类的所有公共成员。 
    如果你学过 base 的话,要注意区分它们。 补一个哈: base 是引用当前父类的构造函数