C#this指针用法

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

this指针是什么:

这里有一些面向对象编程的概念需要说明:类(Class)的概念和对象(Object)的概念

类是对事物概括,也是C#编码时所有代码归属的基本单位;而对象是对类的实例化,也就是C#里new方法的返回值。写代码是不能直接用操作类,而只能先实例化类,然后我们用这个类被实例化后的对象。

通俗一些的说明是,“类”好比是“人”的概念,而我们把类实例化后,就成为单个人的“对象”,例如:“张三”。

this就是你的代码所归属的“类”的实例化后的“对象”,也叫当前对象。

this指针的几种用法:

1、限定被相似的名称隐藏的成员

代码如下

public class ThisName

{

public string name = "张三";

public int num = 55;

public ThisName() { }

public void GetThisName(string name, int num)

{

name = this.name;//调取全局变量name

num = this.num;//调取全局变量num

HttpContext.Current.Response.Write("参数name的值为:"+name+";参数num的值为:"+num);//输出结果为"参数name的值为张三;参数num值为:55"

}

}

2、将对象作为参数传递到别的方法中

代码如下

public class ThisFF

{

public ThisFF()

{

}

public string shuju()

{

return "This指针当做方法传递";

}

public void f1(ThisFF ff)

{

HttpContext.Current.Response.Write(ff.shuju());

}

public void f()

{

f1(this);//this在这里可以理解为 ThisFF ff=news ThisFF();当前类的实例

}

}

ThisFF ff=news ThisFF();//方法实例

ff.f();//调用方法 输出结果为: This指针当做方法传递

3、声明索引器

PRivate int _Sy;

public int this[int sy]

{

get { return _Sy;}

set { sy=_Sy;}

}

总结:

1.this关键字引用被访问成员所在的当前实例。静态成员函数没有this指针。this关键字可以用来从构造函数,实例方法和实例化访问器中访问成员。

不能在静态方法。静态属性访问器或者域声明的变量初始化程序中使用this关键字,这将会产生错误。

2.在类的构造函数中出现的this作为一个值类型表示对正在构造的对象本身的引用。

3.在类的方法中出现this作为一个值类型表示对调用该方法的对象的引用。

4.在结构的构造函数中出现的this作为一个变量类型表示对正在构造的结构的引用。

5.在结构的方法中出现的this作为一个变量类型表示对调用该方法的结构。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航