问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

一楼的哥们真细心,说的挺详细的.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 关于JAVA中this的应用 简述Java中This和 Super关键字的使用 this和super 关键字有什么作用 Java中怎么使用this关键字?什么时候可以使用? java 中this关键字的作用,求详细的解答 javascript中this关键字是什么意思,在那些场合使用 java 中this关键字的作用是什么? java中this关键字有什么作用,详细点,需要例子解析 js中this关键字如何应用? java 的this的运用? java 中的this关键字的几种用法 java中this的关键字用法是什么? C#中this关键字的作用是什么? 简要说明super关键字和this关键字的用法 3. this关键字可以用来调用哪些结构,简单说明一下其使用? this关键字主要应用于哪些场合? this关键字有什么用? 没有耳机孔的手机有哪些 为什么小米手机没有耳机却显示插了耳机 小米11没有耳机孔怎么办? Java中怎么使用this关键字,和在什么时候可以使用.内容越详细越好.我在这里先谢过了...... 华为miracast投屏在哪 如何找到手机的MIRACAST 手机的Miracast功能在哪 华为mate7中的“miracast”选项在哪设置? 华为手机的无线显示功能怎么使用 华为如何找到miracast 华为mate7中的miracast选项在哪 华为8Amiracast设置在哪? 华为的无线投屏怎么用 华为手机如何连电视 华为手机的无线显示功能在哪里连接和电视互屏的功能? 华为MLA-AL00是什么机型? huawei mla-al00是什么机型 华为MLA一ALoo是什型号 华为手机有MLA-AL00这个型号吗? 华为mal一al00是什么型号 华为mla-al00是什么cpu 华为mla-ul00是什么型号 华为麦芒5型号代码