c#中THIS的用法浅析

下文,引用自http://bbs.csdn.net/topics/190113592论坛的大牛的见解,独到又易懂。

面向对象,你就得站在事物本身的角度考虑问题
C#this在vb为Me也是和“我”是一个意思
这个类,你就是的一个实例
你的身高、性别、年龄就是属性
睡觉()、工作()、学习()就是方法
碰见高兴、悲伤、疑惑就是事件
你对你自己说“睡觉去了”,说全一点是“我睡觉去了”,对于你自己来可以省去说“我”
就像

C# code
?
1
2
Text =  "测试" //省去this一样
this .Text =  "测试" ;


当然世界上不只你一个,也不只一个类
你上班的某某某公司也可以看成一个公司的实例
某某某公司,发工资给“我”
那就好像这条语句了

C# code
?
1
otherObject.Bar( this ); 


发工资()是公司的一个方法

测试代码
C# code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class  MyClass
{
     internal  int  x = 123;
     public  void  Foo(UClass Bar)
     {
         Bar.Bar( this ); 
     }
}
class  UClass
{
     public  void  Bar(MyClass AMyClass)
     {
         AMyClass.x = 321;
     }
}   
 
private  void  button1_Click( object  sender, EventArgs e)
{
     MyClass vMyClass =  new  MyClass();
     UClass vUClass =  new  UClass();
     Console.WriteLine( "调用前x={0}" , vMyClass.x);
     vMyClass.Foo(vUClass);
     Console.WriteLine( "调用后x={0}" , vMyClass.x);
}


测试结果
[code=BatchFile]
调用前x=123
调用后x=321[/code]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值