今天看到调用这一块,看到老师写了个this,在什么情况下用this呢?加不加this有什么区别呢?this代表什么?作者: qiubo 时间: 2014-4-4 13:18
this 是C#中的一个保留字,仅限在构造函数和方法成员中使用;
在类的构造函数中使用this表示对正在构造的对象本身的引用,在类的方法中使用this表示对调用该方法的对象的引用,在结构的构造上函数中出现表示对正在构造的结构的引用,在结构的方法中使用this表示对调用该方法的结果的引用;
而且this 保留字不能用于静态成员的实现里,因为这时对象或结构并未实例化;
this 保留字一般用于将对象本身做为参数、声明索引访问器、判断传入参数的对象是否为本身。作者: itheima_xu 时间: 2014-4-4 13:39
this 关键字将引用类的当前实例。静态成员函数没有 this 指针。this 关键字可用于从构造函数、实例方法和实例访问器中访问成员。
限定被相似的名称隐藏的成员
将对象作为参数传递到其他方法
声明索引器
class Employee
{
public string name;
public int age;
public Employee(string name,int age) {
this. name = name;
//这里如果不加this, 这时编译器无法辨别代码中的变量age哪个是成员变量,哪个是方法中的参数变量
this.age = age;
}
public void func1() {
func2(this); //将Employee对象作为参数传递到DoPrint方法
}
private void func2(Employee employee)
{
//方法体
}
int[] array = new int[3];
public int this[int param] //声明索引器
{
get { return array[param]; }
set { array[param] = value;}
}
}