考虑以下类:
public class Person
{
public String FirstName;
public String LastName;
public DateTime DateOfBirth;
public StaffType PersonType;
}
以及以下2个方法和方法调用:
public void DoSomethingWithPersonType(Person person)
{
TestMethod(person.PersonType);
}
(由 调用DoSomethingWithPersonType(person);
)
public void DoSomethingWithPersonType(StaffType personType)
{
TestMethod(personType)
}
(由 调用DoSomethingPersonType(person.PersonType);
)。
哪种方法更有效?他们都像彼此一样“高效”吗?它没有什么区别,因为它只是传递了一个引用吗?或者传递的参考是否在某些方面有所不同?
我问的原因是因为我在当前项目中选择了第一个方法签名 - 我已经这样做了,因为以后我们可能需要使用我们的“人”的其他字段 - 所以更容易扩展/适应性强的方法是我所拥有的——但它是一种更昂贵的方法吗?
编辑:注意 - 不用说,这些差异将是微不足道的,否则我已经遇到了性能影响明显足以让我采取行动的情况。这只是一个好奇的问题。