A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiaqingchao 中级黑马   /  2013-2-18 15:27  /  1291 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

c#中this是不是用不用都一样,比如this.text1直接用text1也可以那this是不是没用?

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

5 个回复

倒序浏览
有时候可以省略
//类中声明的变量叫字段
        string a = "类的字段";
        private void button2_Click(object sender, EventArgs e)
        {
            string a = "变量a";

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

        }

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
这个可以省略我知道,既然他有这个词,是不是有什么情况下不能省略
回复 使用道具 举报
当局部变量和类的字段重名的时候如果要调用类的字段必须加this
回复 使用道具 举报
本帖最后由 彭清贵 于 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;同上
}

还有很多用途,我只学到这个
回复 使用道具 举报

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

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马