this指针是什么:编程
这里有一些面向对象编程的概念须要说明:类(Class)的概念和对象(Object)的概念
类是对事物归纳,也是C#编码时全部代码归属的基本单位;而对象是对类的实例化,也就是C#里new方法的返回值。写代码是不能直接用操做类,而只能先实例化类,而后咱们用这个类被实例化后的对象。
通俗一些的说明是,“类”比如是“人”的概念,而咱们把类实例化后,就成为单我的的“对象”,例如:“张三”。
this就是你的代码所归属的“类”的实例化后的“对象”,也叫当前对象。函数
this指针的几种用法:this
一、限定被类似的名称隐藏的成员编码
代码以下指针
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" } }
二、将对象做为参数传递到别的方法中对象
代码以下blog
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指针当作方法传递
三、声明索引器索引
private int _Sy; public int this[int sy] { get { return _Sy;} set { sy=_Sy;} }
总结:get
1.this关键字引用被访问成员所在的当前实例。静态成员函数没有this指针。this关键字能够用来从构造函数,实例方法和实例化访问器中访问成员。
不能在静态方法。静态属性访问器或者域声明的变量初始化程序中使用this关键字,这将会产生错误。 string
2.在类的构造函数中出现的this做为一个值类型表示对正在构造的对象自己的引用。
3.在类的方法中出现this做为一个值类型表示对调用该方法的对象的引用。
4.在结构的构造函数中出现的this做为一个变量类型表示对正在构造的结构的引用。
5.在结构的方法中出现的this做为一个变量类型表示对调用该方法的结构。