本人莱鸟一个,请教关于this的含义和用法:
请问:this用与不用,有什么不同或有什么不良的后果,如何规范代码?
例如this.GetType()与GetType()有何不同

解决方案 »

  1.   

    this是类里面里面的一个隐含的指针,当这个类被实例化的时候,也就是说类变成对象的时候,它会把这个对象的地址传递给this,我们可以这样理解,this代表的并不是类本身,而是类实例化以后所产生出的对象,当然对象不同它们的this也不同。
      

  2.   

    class A   
    {   
        public int i;   
        public string s;   
        //第一个是无参构造器   
        public A()   
        {    
               
        }   
        //第二个构造器带一个参数i   
        public A(int i)   
        {   
            this.i = i;   
        }   
        //第三个构造器带一个参数s   
        public A(string s)   
        {   
            this.s = s;   
        }   
        //第四个构造器带两个参数i和s   
        public A(int i, string s)   
        {   
            this.i = i;   
            this.s = s;   
        }   
    }  构造函数里面,我们使用了跟成员变量相同的名字i跟s,怎么样区分成员变量i跟参数i呢?这时候就要使用this关键字了,访问成员变量的时候使用实例名称,而这个this关键字就相当于实例的名称,所以使用this作为前缀就代表着它后面所使用的是成员变量,而右边的i它没有前缀这样它就会去找最近的变量那就是参数i,当然如果成员变量名和参数名不相同,就没有必要使用this关键字了。实际开发中,尽量避免使用这种相同的变量名,在C#中可能没有问题,但是到了其他语言可能就会有问题了,比如说你要开发一个组件,供其他的语言使用,这样就相同的变量名就不合适了。
    本文来自CSDN博客,转载请标明出处:
    类的构造1
      

  3.   

    没什么大的不同
    加上this就是本类实例化的对象了,this.加"."后可以提示信息了
    如:用于区分本类对象中的属性 与 变量