黑马程序员技术交流社区

标题: 关于this [打印本页]

作者: xiaqingchao    时间: 2013-2-18 15:27
标题: 关于this
c#中this是不是用不用都一样,比如this.text1直接用text1也可以那this是不是没用?
作者: 王立    时间: 2013-2-18 15:43
有时候可以省略
//类中声明的变量叫字段
        string a = "类的字段";
        private void button2_Click(object sender, EventArgs e)
        {
            string a = "变量a";

            MessageBox.Show(a);   //如果局部变量和字段重名,会默认调用局部变量
            MessageBox.Show(this.a);  //this 表示当前类的意思,

        }
作者: xiaqingchao    时间: 2013-2-18 15:59
这个可以省略我知道,既然他有这个词,是不是有什么情况下不能省略
作者: 王立    时间: 2013-2-18 16:04
当局部变量和类的字段重名的时候如果要调用类的字段必须加this
作者: 彭清贵    时间: 2013-2-19 01:59
本帖最后由 彭清贵 于 2013-2-19 02:00 编辑

  this 的英文意思:这;特指,比如this is your name 这就好解释了  这是你的名字,属于你的  特指的,
C#中的保留字this仅限于在构造函数,类的方法和类的实例中使用。
被用来区分类成员及本地的成员

this用途:
限定被相似的名称隐藏的成员
public Persson(string name, string alias)
{
this.name = name;//this.name表示这个Persson里面的name,只属于Persson
this.alias = alias;同上
}

还有很多用途,我只学到这个

作者: 李荣斌    时间: 2013-2-20 01:43

public void  SayHello()
        {
            int name="张三";
            Console.WriteLine("大家好,我是{0}",name);
        }
在这个SayHello()方法中,本来想调用的变量是成员变量,但是因为变量使用的就近原则,它就使用了这个已经赋值为张三的局部变量,这个时候就要加上this。






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