首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

this.name = name;啥意思啊吓死人了解决办法

2012-05-10 
this.name name啥意思啊,吓死人了第一个段代码class Person{String namepublic Person(String name){t

this.name = name;啥意思啊,吓死人了
第一个段代码
class Person
  {
  String name;
  public Person(String name)
  {
  this.name = name;
  } 
  }

第二段代码
class Person
  {
  public string m_name;
  public Person(string name)  
  {
  m_name = name;  
  }
  } 
构造函数不是下面那种写法吗,name是参数,把传入的值赋给m_name;那上面那种写法啥意思呢,请解释一下,另外,就是this的用法,哪些时候会用到this,我知道索引的时候用到

[解决办法]
区别只在于第二段代码中的m_name能被外部访问,其余一致
C# this关键字引用当前对象实例的成员。
不用也没关系,我的体会是用this可以出智能感知,方便点
[解决办法]
2种写法效果一样,this这个地方就是class Person
[解决办法]
String name;
字段
通过构造函数赋值
属性比字段更面向对象,具体就体现在封装性上。 
字段不能进行控制,而属性可以解决这样的问题
字段用于存储类或结构满足其设计所必须拥有的数据。类和结构使用字段封装数据。字段通常应为 private。外部类应该通过方法、属性或索引器间接访问字段。
[解决办法]


这个问题也问 确实吓死我了
[解决办法]

探讨

String name;
字段
通过构造函数赋值
属性比字段更面向对象,具体就体现在封装性上。
字段不能进行控制,而属性可以解决这样的问题
字段用于存储类或结构满足其设计所必须拥有的数据。类和结构使用字段封装数据。字段通常应为 private。外部类应该通过方法、属性或索引器间接访问字段。

[解决办法]
多多看书。
[解决办法]
this在这里代表当前对象实例
[解决办法]
this就是指当前操作的对象,比如说你在Form1中的Form1.cs中编写代码,this就是指Form1,this.Text就是Form1的标题,第一种写法的this.name是指当前对象的局部变量,而构造函数是外部调用这个类是传递的参数,这个意思是将外部传入的参数传递给本对象的变量name
[解决办法]
楼上的解释很准确了。
要详细点就去MSDN
[解决办法]
探讨

引用:
区别只在于第二段代码中的m_name能被外部访问,其余一致
C# this关键字引用当前对象实例的成员。
不用也没关系,我的体会是用this可以出智能感知,方便点

如果第一段的string name前加上public 呢,是不是也可被外部访问呢

[解决办法]
还是先看看书
[解决办法]
this是指当前对象
专业的解释不会,简单来说就是,你定义1个变量,但是又传进了
1个名字类型都一样的参数,这时候需要用this区分,this.name就是
指你定义的变量,而name就是传入参数
[解决办法]
如果把第一个代码改成:
class Person
{
public String name;
public Person(String name)
{
this.name = name;
}
}
那这两段代码就完全一样了,this在这的作用就是区分开两个name变量
this.name 是生命的public string name
= 后边那个name是public person(string name)这个里边的name
[解决办法]
探讨
如果把第一个代码改成:
class Person
{
public String name;
public Person(String name)
{
this.name = name;
}
}
那这两段代码就完全一样了,this在这的作用就是区分开两个name变量
this.name 是生命的public string name
= 后边那个……

[解决办法]
this.name中的name指的是类的字段变量,=name指的是构造函数参数,只是一个参数名而已,形参,当调用时传入具体的值,实参
[解决办法]
楼上都说了,恭祝楼主春节愉快。
------解决方案--------------------


this一般是指当前这个对象,, 上面跟下面基本上没什么本质上的差别,都是将传进来的值付给当前对象
[解决办法]
两种协作风格是一个东西的好象.
[解决办法]

探讨
引用:

String name;
字段
通过构造函数赋值
属性比字段更面向对象,具体就体现在封装性上。
字段不能进行控制,而属性可以解决这样的问题
字段用于存储类或结构满足其设计所必须拥有的数据。类和结构使用字段封装数据。字段通常应为 private。外部类应该通过方法、属性或索引器间接访问字段。


正解

楼主,你举的2个例子其实区别仅在……

[解决办法]
探讨

引用:
这个问题也问 确实吓死我了

只有引用的内容不允许回复!

[解决办法]
C# 中默认访问修饰符为private的,也就是前面那个等同于类里的私有成员

后面那个一m_name则是公开可见的
[解决办法]
不错的问题~~~基础不扎实的时候就会搞错了
[解决办法]
都是 给 字段赋值,只是 参数name 和字段name 同名,用 this来访问name字段 以示区分,下面那个 不同名,就没必要用this了,直接字段了。
[解决办法]
吓死人了,怎么CSDN上的菜鸟越来越多
[解决办法]
m_name就是第一段代码的字段name,一样,this.的意思是:本类 的
[解决办法]
哦,对了,呵呵,没看清,不完全一样,一个是共有的,一个是C#默认是private的成员吧
[解决办法]
正确答案已经说得很多了。。。。楼主还是多看看书吧。。。思而不学则殆
[解决办法]
不一样吗?
[解决办法]
this指当前类,这里也就是指person
[解决办法]
this关键字引用当前对象的实例。
可以了解一下变量的作用域。
[解决办法]
一样的吧

热点排行