黑马程序员技术交流社区

标题: this 关键字的用法~!求解释!!!这里this的作用是? [打印本页]

作者: 王盛    时间: 2013-6-11 12:11
标题: this 关键字的用法~!求解释!!!这里this的作用是?
本帖最后由 王盛 于 2013-6-12 08:08 编辑

this 关键字的用法
using System;
class Number
{
    public int i;
    public Number(int initval)
    {
        this.i = initval;
    }
    public static Number operator ++(Number arg)
    {
        return new Number(arg.i +1);
    }
}
class test
{
    static void Main()
    {
        Number Obj1 = new Number(1);
        Number Obj2 = Obj1++;
        Console.WriteLine(Obj1.i);
        Console.WriteLine(Obj2.i);
        Obj2 = ++Obj1;
        Console.WriteLine(Obj1.i);
        Console.WriteLine(Obj2.i);
    }
}

上面的代码   this.i = initval; 这里的this 是用作干什么的,我去了this好像也没有错啊        ~!
作者: 李晓峰    时间: 2013-6-11 12:29
this一般有三种使用:1,用于区分成员于局部同名的情况。2,在定义函数时,该函数内部需要调用到该函数的对象时,由于此时函数还没有建立,因此用this代表此对象。3,用于构造函数间调用,但是this语句必须放到第一行。

一般我们都会将属性定义在成员位置上。写法如下:
  public Number(int i)
  {
        this.i = i;
  }
作者: yangaidongcumt    时间: 2013-6-11 12:34
this作用1:在当前类的构造函数后面通过:this来调用当前类自己的其他构造函数  
2.表示当前类或当前对象
3.用于区分类成员和局部变量同名的情况
作者: 王盛    时间: 2013-6-11 13:02
李晓峰 发表于 2013-6-11 12:29
this一般有三种使用:1,用于区分成员于局部同名的情况。2,在定义函数时,该函数内部需要调用到该函数的对 ...

很清晰~!  明白了  谢谢啦~!
作者: 王盛    时间: 2013-6-11 13:03
yangaidongcumt 发表于 2013-6-11 12:34
this作用1:在当前类的构造函数后面通过:this来调用当前类自己的其他构造函数  
2.表示当前类或当前对象
...

谢谢~明白啦~!
作者: popoluno    时间: 2013-6-11 15:27
这段程序里的this是不是表示当前类或当前对象啊

作者: 李奔    时间: 2013-6-11 20:33
在C#中,this关键字代表当前实例,我们可以用this.来调用当前实例的成员方法,变量,属性,字段等;
也可以用this来做为参数状当前实例做为参数传入方法.
还可以通过this[]来声明索引器.
详见:http://blog.csdn.net/dunksong/article/details/6160105
作者: 王盛    时间: 2013-6-11 22:11
李奔 发表于 2013-6-11 20:33
在C#中,this关键字代表当前实例,我们可以用this.来调用当前实例的成员方法,变量,属性,字段等;
也可以用this ...

嗯 明白了~! 谢谢
作者: 一直在努力    时间: 2013-6-11 23:49
....刚想答...发现楼上都答了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2