C#:关于this关键字的作用
发布网友
发布时间:2022-03-23 00:04
我来回答
共5个回答
热心网友
时间:2022-03-23 01:34
this 关键字将引用类的当前实例。静态成员函数没有 this 指针。this 关键字可用于从构造函数、实例方法和实例访问器中访问成员。
以下是 this 的常用用途:
限定被相似的名称隐藏的成员,例如:
public Employee(string name, string alias)
{
this.name = name;
this.alias = alias;
}
将对象作为参数传递到其他方法,例如:
CalcTax(this);
声明索引器,例如:
public int this [int param]
{
get
{
return array[param];
}
set
{
array[param] = value;
}
}
在静态方法、静态属性访问器或字段声明的变量初始值设定项中引用 this 是错误的。
参考资料:MSDN
热心网友
时间:2022-03-23 02:52
this关键字指代当前对象,它会产生一个当前对象的句柄,可以用它直接引用对象.
C#中this关键字用途:
1. 最常用的,也就是你提到的:解决可能在实例变量和局部变量之间发生的任何同名的冲突。
2.将对象作为参数传递到其他方法
3.声明索引器
using System;
class Employee
{
private string _name;
private int _age;
private string[] _arr = new string[5];
public Employee(string name, int age)
{
// 使用this限定字段,name与age
this._name = name;
this._age = age;
}
public string Name
{
get { return this._name; }
}
public int Age
{
get { return this._age; }
}
// 打印雇员资料
public void PrintEmployee()
{
// 将Employee对象作为参数传递到DoPrint方法
Print.DoPrint(this);
}
// 声明索引器
public string this[int param]
{
get { return _arr[param]; }
set { _arr[param] = value; }
}
}
class Print
{
public static void DoPrint(Employee e)
{
Console.WriteLine("Name: {0}\nAge: {1}", e.Name, e.Age);
}
}
class TestApp
{
static void Main()
{
Employee E = new Employee("Hunts", 21);
E[0] = "Scott";
E[1] = "Leigh";
E[4] = "Kiwis";
E.PrintEmployee();
for(int i=0; i<5; i++)
{
Console.WriteLine("Friends Name: {0}", E[i]);
}
Console.ReadLine();
}
}
热心网友
时间:2022-03-23 04:26
简单的说 this的作用就是用来判断当前的实例,比如在form1中编写码时,它就代表form1的对象,所以就可以这样用: this.name ,this.Location等等
热心网友
时间:2022-03-23 06:18
this顾名思义,也就是当前的对象,用this可以访问该对象中的一系列属性,方法(除了静态的),这是面向对象编辑最基本的一个思想哦
热心网友
时间:2022-03-23 08:26
一楼的哥们真细心,说的挺详细的.