关于this关键字的用法!!!

kl98 2002-09-24 11:38:51
我刚接触面向对象编程虽然知道this关键字是对当前对象实力的引用,但是还不能真正理解,所以在使用的时候经常用错,希望各位能详细指教一下感激不禁!
...全文
62 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
WxmJun 2002-09-25
  • 打赏
  • 举报
回复
可以这样理解,this就是指向类自己的引用.(就相当于第一人称"我")
d2chaofan 2002-09-24
  • 打赏
  • 举报
回复
this 就是当前对象
^_^
MagicFly 2002-09-24
  • 打赏
  • 举报
回复
this 关键字只能在类的构造函数,类的方法和类的实例中使用,他的含义是
1。类的构造函数中的this表示正在构造对象本身的引用
2。在类的方法表示对调用改对象的引用
3。在结构的方法中出现表示对调用该方法的结构的引用
4。在结构的构造函数中出现表示对正在结构的结构引用using System;
public Class Employee
{
public class Employee
{
public string name;
public decimal salary;
public Employee(string name,decimal salary)
{
this.name=name;
this.salary=salary;
}
public void DiaplayEmployee()
{
Console.Writeline("姓名:{0}",name);
Console.Writeline("薪水:{1}",salary);
//用this方法将当前对象传给Tax.CalcTax()方法
Console.WriteLine("个人所得税:{0}",Tax.CalcTax(this));
}
}
public class Tax
{
public static decimal CalcTax(Employee E)
{
return(0.14m*(E.salary-800m));
}
public class sample
{
public static void Main()
{
Employee e = new Employee("MagicFly",8000m);
e.DisplayEmployee();
}
}
}
}
yarshray 2002-09-24
  • 打赏
  • 举报
回复
可以这样理解用this来给当前对象起一个方便的名字!
但只能是当前的!
Voky 2002-09-24
  • 打赏
  • 举报
回复
this可以引用当前对象的一切成员,包括继承的基类成员,怎么会用错呢?举个例子来看看?
TheAres 2002-09-24
  • 打赏
  • 举报
回复
除了 snewxf(心疤) 说得好区分,还有一个作用就是表示本类的一个对象,当需要传递一个本类的对象时用,例如:

public class Form1
{

Form2 myForm = new Form2();
myForm.Show();
myForm.F1(this); //注意这句话,没有this,是无法完成的
}

public class Form2
{
public void F1(Form1 aForm)
{
aForm.........;
}
}

我想这个才是他的主要作用,表示本类的一个对象.



Hope it helps a little.
----------------------------------------
To teach a fish how to swim.
snewxf 2002-09-24
  • 打赏
  • 举报
回复
为了好区分嘛!
你也可以不写出来的!
kl98 2002-09-24
  • 打赏
  • 举报
回复
那THIS有什么存在的必要?调用的时候还不都一样?
WxmJun 2002-09-24
  • 打赏
  • 举报
回复
to k198:一回事
kl98 2002-09-24
  • 打赏
  • 举报
回复
比如下例加THIS与不加THIS有何不同
private string endReason;
public string EndReason
{
get
{
return this.endReason;
}
set
{
this.endReason=value;
}
}
Eastunfail 2002-09-24
  • 打赏
  • 举报
回复
是啊,不难理解的

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧