关于C#中this的用法

有一种用法说是。限定被相似的名称隐藏的成员
比如
public Employee(string name, string alias)
{
this.name = name;
this.alias = alias;
}

但是我还是不明白这是什么意思啊,哪位大侠给我详细讲讲这两个语句到底是啥意思啊,这三个name不是同一块内存空间吗?
谢谢

private string name;
private string alias;

// 上面两个变量是私有的,只能在本类中访问,其余的类不能访问他们
//而下面的构造方法是外界能访问的,由于除本类之外的类不能访问上面的两个变量name和alias,但是又要给它们传值(如果不传值定义这两个变量就毫无意义),怎么办呢?于是就用下面的构造方法,通过这个构造方法的形参name和alias把值传递进来。这样做的目的就是为了提高程序的安全性,不能让外界直接访问里面的name和alias
//这样在其余的类中就可以写:
Employee emp = new Employee("姓名",“别名”);
在本类中就是:
this.name=name;//这里的name=”姓名“;
this.alias=alias;//这里的alias=”别名“

这样就达到了外界并没有访问本类的name和alias,但是值也传递进来了,所以达到了提高安全性的目的

public Employee(string name, string alias)
{
//将构造方法带的值赋给本类中的name,这个this你可以看成是“本类”的意思
this.name = name;
this.alias = alias;
}

括号里的的参数不一定要取相同的名称这个方法也可以写成
public Employee(string a,stirn b)
{这样写就不用this了,因为这里name和alias是唯一的

name=a;
alias=b;

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-05
this是指对当前对象的引用。
举例:
Employee a = new Employee("x","y");
当初始化对象a的时候,把a对象传入到构造器内,此时this就是a对象。
使用this是为了区分属性name和参数name。
如果属性是someName的话,在构造器里就可以直接写someName=name,而省略this。
第2个回答  2014-03-05
举个例子 
class A
{
string name;
public Employee(string name, string alias) 
{
  this.name = name;
  this.alias = alias;
 //那么加this就是指上面类里面那个name,不加this就是指方法里参数的name。
}
}

追问

请问这个name=name它究竟想表达什么呢。

追答

相当于将Employee方法的name参数 赋值给整个类的name属性,这里假如 你全局的属性不和参数重名 比如叫 NameA,那么直接NameA=name;即可,但是一旦重名,那标示全局的时候必须加this以示区分。

第3个回答  2019-04-11

1.构造函数后跟:this(),表示需要执行无参构造函数里代码(省去了无参构造函数代码编写)

2.索引器的写法

public string this[int index]{...}

3.下面表示为这个string类扩展方法。

public static void MyToString(this string str){。。。}

4.方法内“this.属性/成员变量/方法”,表示这个是当前类内成员。

c#中this的用法
1、在构造函数中this用于限定被相同的名称隐藏的成员,例如:public class Student{ public Student(string name, string age){ this.name = name;this.age = age;}} 2、将对象作为参数传递到其他方法时也要用this表达,例如:fun(this)。3、可以通过this[]来声明索引器,例如:public...

C#中this 关键字的用法,希望简单易懂点。。。
就是ths.(属性,方法)this是始终指向当前对象的。在C#中,函数或者属性都应该属于一个对象 所以只要在对象中用“this.”就可以看到该对象所有的方法属性

This的计算机中
一.this的常用用途:1.限定被相似的名称隐藏的成员eg:public Employee(string name, string alias){this.name= name;this.alias = alias;}2.将对象作为参数传递到其他方法eg:CalcTax(this);3.声明索引器eg:public int this [int param]{get { return array[param]; }set { array[param] = ...

c# THIS 的用法
this操作数用在构造器(Constructor)中的使用 \/\/...

C# 构造函数后面接 : this() 什么意思
用法一:父类的构造函数总是在子类之前执行的。既先初始化静态构造函数,后初始化子类构造函数。public class BaseCircle { public BaseCircle(){ Console.WriteLine(" no arguments base constructor!!!");} public BaseCircle(double arg){ Console.WriteLine("double arg base constructor!!!");} }...

C#中的this
C#中的保留字this仅限于在构造函数,类的方法和类的实例中使用。在类的构造函数中出现的this作为一个值类型,它表示对正在构造的对象本身的引用 在类的方法中出现的this作为一个值类型,表示对调用该方法的对象的引用 在结构的构造函数中出现的this作为一个变量类型,表示对正在构造的结构的引用 在结构...

C#中this关键字的作用?能不能理解为引用类的对象,如一个引用集合中的...
Example 1:this操作数用来解决名称相同的问题。class AAA { ...public void BBBB(string a){ a= a;\/\/这里不会成功,系统并不知道语句中的第一个a指的是类成员 } private string a; \/\/AAA的成员变量 } 修改为:this.a=a Example 2:使用this操作数返回目前对象的参考。class AAA { ...public...

C#中关于关键词THIS的完整定义及用法。请在用法中增加举例说明_百度...
在 C# 系统中,this 实际上是一个常量,所以不能使用 this++ 这样的运算 this 保留字一般用于限定同名的隐藏成员、将对象本身做为参数、声明索引访问器、判断传入参数的对象是否为本身 示例:[复制到剪贴板]CODE:using System;using System.Collections.Generic;using System.Text;namespace Example10 { ...

C#this的用法
this他代表当前对象, 是表示调用本类的方法和属性。。比如 string name="hao";this.name="buhao";

C#中 this 的用法 及 意义
嗯,this就是获得当前的对象,通过this.调用当前对象的属性或者方法,

相似回答