加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 通过参考:哪个更可读/正确?

发布时间:2020-12-15 04:30:29 所属栏目:百科 来源:网络整理
导读:我有以下类: public class Person{ public String Name { get; set; }} 我有一个方法将Person和一个String作为参数: public void ChangeName(Person p,String name){ p.Name = name;} 由于Person通过引用传递,所以应该更改传递的实例的Name. 但是这种方法
我有以下类:
public class Person
{
     public String Name { get; set; }
}

我有一个方法将Person和一个String作为参数:

public void ChangeName(Person p,String name)
{
     p.Name = name;
}

由于Person通过引用传递,所以应该更改传递的实例的Name.

但是这种方法比上述方法更可读吗?

public Person ChangeName(Person p,String name)
{
     p.Name = name;
     return p;
}

解决方法

它更可读吗?不,其实你可能在做更多的伤害他们好.

通过使它返回一个Person对象,它可能会导致您相信,而不是修改Person参数,它实际上是基于p创建一个新的Person,但是使用不同的名称,并且有人可能会错误地假设p从未更改.

无论哪种方式,如果你有一个对类没有影响的方法,它应该是静态的.这有助于您确定它不会影响其类.只有在需要返回值时,方法才会返回值.

所以这里是我对这种方法的建议:

public static void ChangeName(Person p,String name)
{
    p.Name = name;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读