How much memory this array will take in C# when we pass it to function as parameter
<p>I am using an array in C# like so: </p>

<pre><code>class abc 
{
    xyz x = new xyz(); // some other class
    public double [] arr = new double [100]; // Allocated 400 bytes 
                                             // for this array.
                                             // 100 is imaginary size 
                                             // shown here for simplicity.
                                             // Actual size will depend on input.
    private void something() 
    {
        x.funA(arr);
    }
}
</code></pre>

<p>In class <code>abc</code> above array is consuming 400 bytes. Now, I have passed this array in some function as a parameter which is in class <code>xyz</code>. </p>

<p>My question is whether new 400 bytes will be allocated in class <code>xyz</code>. 400 bytes is not that much of concern, but in my program I am passing an array which is taking one MB.</p>
