passing an object to a function in a the same class to initialize the values, but not by reference : <p>I'm looking for some clarification and confirmation that this is indeed doing nothing.</p>

<p>Say I have an object</p>

<pre><code>public class Person
{
    public string Name { get; set; }
}
</code></pre>

<p>and I am going to use this object and for some reason it has to be initialized, which should happen in the constructor but for this example its going to happen in a call to an initialize function</p>

<pre><code>public class myClass
{
    private void doingSomething()
    {
        Person p = new Person();
        Initialize(p);
    }

    private void Initialize(Person person)
    {
        person.Name = "";
    }
}
</code></pre>

<p>This is just a waste correct. If I really wanted to change the values doesn't it have to be passed using ref, out, or returning a different Person?</p>

<p>If I'm wrong i'd appreciate an explanation. I found this while looking through some old code and feel confused because I can't believe it's there.</p>
