class Person
{
public string name;
public void SetName(string name)
{
name = name;
}
}
public void static Main(string[] args)
{
Person aPerson = new Person();
aPerson.SetName("ruby");
Console.WriteLine("person name is {0}}, aPerson.name);
}
Run Code Online (Sandbox Code Playgroud)
这个人的名字是空的.这可以消除使用this.name = name;
人名是空的(空字符串)是什么原因?
目前,你的任务
name = name;
Run Code Online (Sandbox Code Playgroud)
只是将参数的值赋给自己.换句话说,这是一个无操作.
如果您将其更改为:
this.name = name;
Run Code Online (Sandbox Code Playgroud)
那就是将参数的值分配给你想要的字段.
但是,目前Person的name字段不会引用空字符串 - 它将是一个空引用.这两者之间有很大的不同.
(当然,通常你不应该有一个公共字段,你应该使用属性而不是SetName方法.)
| 归档时间: |
|
| 查看次数: |
1666 次 |
| 最近记录: |