this主要是用作引用一个类的当前实例对象,也可以用在扩展方法里面,我主要总结一下前者的主要用途。
1.用来限定被相同名字隐藏的类成员。这里主要指的就是构造函数。比如
public Employee4(string name, string id) { this.name = name; this.id = id; }
这是一个类的构造函数,this.name是之前声明的字段,但是声明的时也叫name,和构造函数的参数重复了,就加上this,来限定这个name是当前实例的一个字段。如果不加呢?name = name?显然不行。
2.用来把一个对象作为参数传递给函数方法。
3.在静态函数是存在与类(class)一级,并不是对象(object)的一部分,所以也就没有this指针。因此,在静态方法中使用this是错误的。