gpt4 book ai didi

c# - 传入参数名称与字段名相同

转载 作者:行者123 更新时间:2023-11-30 14:40:04 25 4
gpt4 key购买 nike

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);
}

这个人的名字是空的。这可以使用 this.name = name;

消除

人名为空(空字符串)的原因是什么?

最佳答案

目前,您的作业

name = name;

只是将参数的值返回给它自己。换句话说,这是一个空操作。

如果将其更改为:

this.name = name;

然后就是将参数的值分配给您想要的字段

但是,目前 Person 的 name 字段不会引用一个空字符串——它将是一个 null 引用。两者之间有很大的区别。

(当然,通常你不应该有一个公共(public)字段,你应该使用一个属性而不是 SetName 方法。)

关于c# - 传入参数名称与字段名相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5817385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com