作者bernachom (Terry)
看板C_Sharp
标题[问题] this的使用..
时间Fri May 18 00:45:38 2012
请教一下
最近突然想到this这个问题,试着写一个小小的程式片段..
发现,我好像没搞懂...
我的理解是,因为栏位和参数有相同的名称
参数会把栏位盖掉
所以要用this,是说我要用这个栏位,而不要参数
然後我就写了一小段
class thistest
{
public thistest (int testvalue)
{
this.testvalue = testvalue;
MessageBox.Show("testvalue is "+ testvalue);
}
private int testvalue = 20;
}
//==================
private void button1_Click(object sender, EventArgs e)
{
thistest value = new thistest(10);
}
我的想法是说,按下按钮,传10进去
用this的话就是10
不用的话就是20
结果...好像加不加this都是10...
然後我另外还有想到一个是..为什麽参数和栏位名称会是一样的?
既然会盖过去,不能设不一样的就好了吗?
麻烦前辈教导一下了
谢谢帮忙
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.42.112.154
※ 编辑: bernachom 来自: 114.42.112.154 (05/18 00:47)
1F:推 tnav:栏位?参数? 是指写在class的类别变数和method内的区域变数吗? 05/18 02:03
2F:→ tnav:那不论如何运算,你的叙述都是show出区域变数的testvalue 05/18 02:04
3F:→ bernachom:所以是说我的说法是对的,程式写错了吗? 05/18 02:12
4F:→ bernachom:因为我想要试着找出this和没this的差别 05/18 02:12
5F:→ bernachom:前辈能帮忙指正一下,该如何写出看得出this差别的程式吗 05/18 02:13
6F:→ bernachom:谢谢您 05/18 02:14
7F:→ ssccg:this就是代表class本身的instance 05/18 08:28
8F:→ ssccg:理解成加不加this结果不一样就不对了 05/18 08:29
9F:→ bernachom:我理解错了,谢谢您 05/18 13:45
10F:推 GhostTW:MessageBox.Show("testvalue is "+ this.testvalue); 05/21 10:00