之所以把this关键字放在类这个分类里面,是因为this只能在类的内部使用,使用他能访问类实例对象内部任何级别(不同类型的访问修饰符)的任何元素(字段,属性,方法等),但静态的类型的成员不能访问,因为静态成员不属于对象的一部分。MSDN里面是这样介绍this关键字的:用来引用类的当前实例。这句话说的很精简,我觉得重点是“当前实例”这四个字,下面我说说我个人的理解。
大家都知道类的定义只是描述了一种数据结构,或者说一种自定义的数据类型,并不能那来直接使用,需要实例化成对象。一个类可以实例化成很多对象,每个对象都是不同的实体(个人觉得这些对象最大的不同就是字段里面所包含的数据的不同),对this的理解可以转换成对一个类不同实例对象的理解,下面我给出具体的演示代码。
除了上面说的this还有另外两种用法,这两种用法也都是基于对上面的理解。一是用来区分当方法参数和数据成员同名时的情况。具体的看上面例子中有注释的那一行。二是把对象作为参数传递到其他的地方。如:ohter(this);这other一般应该是类的内部或其他类定义的方法。
对于this做为声明索引器的用法在这里先不说(PS:我也还没学