将对象传递给方法的不同方式

时间:2018-11-20 13:52:15

标签: c#

请考虑以下代码段:

public class Foo
{
   public int ID { get; set; }
   public string FirstName { get; set; }
   ...

   public Foo(int Id, string firstName)
   {
      ID = Id;
      FirstName = firstName;
   }
}

假设我们有一个以Foo对象为参数的方法。我可以如下创建对象:

var first = new Foo { ID = 1, FirstName = "Test"};
var second = new Foo(1, "Test");

然后传递到接受对象作为参数的方法。我的实际班级包含10多个属性,我对此问题进行了简化。

我的问题是,这里是否有区别,还是两者都在做相同的事情?或更多是优先选择的情况。

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我认为这里的最大区别是,通过构造一个采用这些参数的构造函数,可以强制Foo用户在实例化Foo时提供某些值。 除此之外,它是首选项。