C# Copy Array by Value
<p>I have a typed array <code>MyType[] types;</code>
and i want to make and independant copy of this array. i tried this</p>

<pre><code>MyType[] types2 = new MyType[types.Length];

types2 = types;
</code></pre>

<p>but this create a reference to the first, i tried </p>

<pre><code>Array.Copy(types,types2, types.lenght);
</code></pre>

<p>but the same problem i change a value of the first and the copy changes as well.</p>

<p>how can i make a complete independent copy or deep copy of an Array, Ilist or IEnumerable?</p>
