当前位置:编程学习 > C#/ASP.NET >>

C#/C++初学者的问题又来了


在构造函数来个this指针硬是没看懂,请解释
特别是在基类中。 --------------------编程问答-------------------- 你在类里定义了一个字段是name, 现在构造函数一个参数也是name,你不能用name =name;来给name赋值吧.this就是告诉编译器this.name这个name是类成员的name而非构造器参数的name --------------------编程问答-------------------- this这个关键词值的是当前对象,在你这个情况即指的是Component这个类,
this.name
他拿的是protected string name;的值
使用this关键词可以很好的区分你所需操作的东西时属于哪个范围的 --------------------编程问答-------------------- 用来区分name,使之不混淆 --------------------编程问答-------------------- this指的是当前类的实例的引用,如果你的参数名不跟字段一样的话“this”可有可无,你的这个就必须加this,因为“外边的”被隐藏了。通俗点说就是两个变量名一样的话,直接写变量名代表的是最近的那个。 --------------------编程问答--------------------
用来区分的,大概就是这样 --------------------编程问答-------------------- this关键字的使用:标识类成员(这里是name字段)是当前类中定义的类成员(这里是name字段),这是一种规范的写法(便于程序的阅读)。 --------------------编程问答-------------------- 算是固定写法,赋值的时候区分 --------------------编程问答--------------------
引用 7 楼 yeyang123 的回复:
算是固定写法,赋值的时候区分


引用 6 楼 Trophy87 的回复:
this关键字的使用:标识类成员(这里是name字段)是当前类中定义的类成员(这里是name字段),这是一种规范的写法(便于程序的阅读)。


引用 5 楼 kangchuntao 的回复:
用来区分的,大概就是这样




引用 4 楼 nbxiaowugui 的回复:
this指的是当前类的实例的引用,如果你的参数名不跟字段一样的话“this”可有可无,你的这个就必须加this,因为“外边的”被隐藏了。通俗点说就是两个变量名一样的话,直接写变量名代表的是最近的那个。


引用 3 楼 chucuihong 的回复:
用来区分name,使之不混淆


引用 2 楼 yyl8781697 的回复:
this这个关键词值的是当前对象,在你这个情况即指的是Component这个类,
this.name
他拿的是protected string name;的值
使用this关键词可以很好的区分你所需操作的东西时属于哪个范围的


引用 1 楼 mq2003hwj 的回复:
你在类里定义了一个字段是name, 现在构造函数一个参数也是name,你不能用name =name;来给name赋值吧.this就是告诉编译器this.name这个name是类成员的name而非构造器参数的name



呵呵,我突然想到我纠结的是(有点转牛角尖呃):基类没有对象,怎么可以使用this指针,还有在所周知:初始化子类,必然先初始化基类,但是基类的初始化是哪一个对象促成的呢?到底是什么时候开始构造函数的调用? --------------------编程问答-------------------- this在C#中表示当前的实例。在类中就表示的当前类环境。当然指向的就是当前写的类了。 --------------------编程问答-------------------- 语法都是规定好的东西,没有什么可钻牛角尖的,该咋用就咋用,背书吧,哈哈,就像小时候学汉字造句一样。 --------------------编程问答-------------------- this.name=name;//将构造函数中的string参数赋值给当前对象的name字段! --------------------编程问答-------------------- 你觉得实在是难以理解的话就这样写

public Component(string parameter)
{
     this.name=parameter;
} --------------------编程问答--------------------
this 作为当前对象的意思。
this.name 就是上面那个 字段 name 
地二个name是你 带一个参数构造函数的形参。

为了区别 name所以

就成了
this.name = name;
这是C# 里的经常写法。

--------------------编程问答--------------------
引用 13 楼 qiaohuyue 的回复:
C# code??123456789this 作为当前对象的意思。this.name 就是上面那个 字段 name 地二个name是你 带一个参数构造函数的形参。 为了区别 name所以 就成了this.name = name;这是C# 里的经常写法。


看到你的回复我凌乱了,跪求csdn头像怎么弄成动态的?我自己都传了GIF就是不行,别看我这头像是静态的,其实源文件是GIF的呢。 --------------------编程问答-------------------- 当前对象的意思。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,