Output List parameter is not modified after exiting a function in C#
<p>I having a problem with output parameter in C#</p>

<p>I have the following function: </p>

<pre><code>public Financial Calculate(int dealerPricingID, int customerID, bool dealerPriceChanged, bool saving, int specialBidID, int promotionID, List&lt;Item&gt; outItems)
</code></pre>

<p>The parameter outItems is an output parameter and before calling the function I just initialize it with </p>

<pre><code>var items = new List&lt;Item&gt;();
</code></pre>

<p>I thought that since a list is a reference type it should end up modified after the function is executed (in the function the list is filled with Item objects that are affected in the calculation). However, it stays unmodified and after debugging I see that inside the function items are add to the collection it just returns empty.</p>

<p>It seems I have some of my concepts of C# wrong, so why is this not working in this situation?</p>
