C#:关于this关键字的作用

我只知道:在类中的变量和方法变量同名,就要用this请问this还有其他作用吗?请举简单的例子作说明.... 我只知道:在类中的变量和方法变量同名,就要用this
请问this还有其他作用吗?请举简单的例子作说明.
展开
 我来答
youz
推荐于2018-04-05 · TA获得超过2.2万个赞
知道大有可为答主
回答量:3757
采纳率:0%
帮助的人:2048万
展开全部
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

TableDI
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配... 点击进入详情页
本回答由TableDI提供
mobiledelight
2007-12-09 · TA获得超过179个赞
知道答主
回答量:32
采纳率:0%
帮助的人:0
展开全部
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();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dds87629
2007-12-10 · 超过35用户采纳过TA的回答
知道答主
回答量:129
采纳率:0%
帮助的人:81.1万
展开全部
简单的说 this的作用就是用来判断当前的实例,比如在form1中编写码时,它就代表form1的对象,所以就可以这样用: this.name ,this.Location等等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yjuiige_ok
2007-12-10 · TA获得超过110个赞
知道答主
回答量:72
采纳率:0%
帮助的人:22.6万
展开全部
this顾名思义,也就是当前的对象,用this可以访问该对象中的一系列属性,方法(除了静态的),这是面向对象编辑最基本的一个思想哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
20703091
2007-12-09 · 超过17用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:55.6万
展开全部
一楼的哥们真细心,说的挺详细的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式