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

前端之家收集整理的这篇文章主要介绍了c# – 通过参考:哪个更可读/正确?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下类:
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;
}

猜你在找的C#相关文章