| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2031 人关注过本帖
标题:this与不加this的区别
只看楼主 加入收藏
kiska3088915
Rank: 2
等 级:论坛游民
帖 子:72
专家分:12
注 册:2009-11-7
结帖率:86.96%
收藏
已结贴  问题点数:20 回复次数:9 
this与不加this的区别
我一直不懂this到底干啥用,这几天看了一个人做的记事本程序,截取部分代码
private void menuItem17剪切_Click(object sender, System.EventArgs e)
        {
            if(this.textBox1.SelectedText!="")
                this.textBox1.Cut();
        }

        private void menuItem18复制_Click(object sender, System.EventArgs e)
        {
            if(this.textBox1.SelectionLength>0)
                this.textBox1.Copy();
        }

        private void menuItem15撤销_Click(object sender, System.EventArgs e)
        {
            if(this.textBox1.CanUndo==true)
            {
                this.textBox1.Undo();
                this.textBox1.ClearUndo();
            }
        }
我自己也写过记事本程序,我的程序里,textbox前面不加this也能正确运行,于是我就奇怪了,干嘛一定要用this,而且我还感觉大家貌似都挺喜欢用this的,所以请教一下this是什么意思,干嘛用的?望大虾们赐教~~~~~
搜索更多相关主题的帖子: 记事本 private 
2009-11-13 16:31
zhansir
Rank: 2
等 级:论坛游民
帖 子:79
专家分:69
注 册:2009-3-22
收藏
得分:5 
 C# 中的this
  C#中的保留字this仅限于在构造函数,类的方法和类的实例中使用。
  * 在类的构造函数中出现的this作为一个值类型,它表示对正在构造的对象本身的引用
  * 在类的方法中出现的this作为一个值类型,表示对调用该方法的对象的引用
  * 在结构的构造函数中出现的this作为一个变量类型,表示对正在构造的结构的引用
  * 在结构的方法中出现this作为一个变量类型,表示对调用该方法的结构的引用
  除此之外,其他地方使用this保留字都是不合法的。

孔子曰:“君子食无求饱,居无求安,敏于学而慎于言,就有道而正焉,可谓好学。”
2009-11-13 18:20
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
收藏
得分:5 
this意思就是self,自己的,代码看起来明白点,容易看懂

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-11-13 19:18
kiska3088915
Rank: 2
等 级:论坛游民
帖 子:72
专家分:12
注 册:2009-11-7
收藏
得分:0 
回复 2楼 zhansir
好深奥。。。。
2009-11-13 21:22
Dripel
Rank: 2
等 级:论坛游民
帖 子:26
专家分:28
注 册:2009-11-15
收藏
得分:5 
以下是引用kiska3088915在2009-11-13 16:31:06的发言:

我一直不懂this到底干啥用,这几天看了一个人做的记事本程序,截取部分代码
private void menuItem17剪切_Click(object sender, System.EventArgs e)
        {
            if(this.textBox1.SelectedText!="")
    ...
你这里的this就表示 当前窗体Form

相思无用,唯别而已,别期若有定,千般煎熬又何如,莫道黯然销魂,何处柳暗花明。
2009-11-15 16:12
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
收藏
得分:5 
呵呵,这种情况下正常来说应该用的,不用的话就是简单的写法了。

QQ:81704464
2009-11-15 16:29
何事惊慌
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:220
专家分:499
注 册:2008-7-2
收藏
得分:0 
本人写this仅仅是为了c#的自动提示。。。见笑了啊

QQ:860234001
编程交流群:236949758
2009-11-15 17:52
yijiang331
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-3-9
收藏
得分:0 
this,永远指向的是当前对象
2010-03-09 11:21
gisserver
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-2-23
收藏
得分:0 
回复 7楼 何事惊慌
哈哈,同样的喜好
2010-03-09 17:51
myhi8
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2021-12-14
收藏
得分:0 
在类里我感觉this._a|this.B 。就是提示你这个类里有多少个变量供你选择。如果你很清楚你所用的变量可以直接写变量,不需要加this。
2021-12-14 02:48
快速回复:this与不加this的区别
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012660 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved