title: Array.Clone() (Copy or not?)
body: <p>I suspect that I am simply misunderstanding the Clone() method of the Array class.
  However it reads "Creates a Shallow Copy of the System.Array" so I would have assumed this meant new object pointers, not the same object pointers...</p>
  
  <p>Is the following really supposed to happen?</p>
  
  <p>Assuming a test object...</p>
  
  <pre><code>public class testObject 
  {
      public int propInt { get; set; }
  }
  </code></pre>
  
  <p>and the following test...</p>
  
  <pre><code>//create a the list
  List&lt;testObject&gt; testList = new List&lt;testObject&gt;();
  
  //add items to the list
  testObject item1 = new testObject();
  item1.propInt = 1;
  testList.Add(item1);
  
  testObject item2 = new testObject();
  item2.propInt = 2;
  testList.Add(item2);
  
  //create what should be a COPY of the array
  testObject[] testArray;
  testArray = (testObject[])testList.ToArray().Clone();
  
  
  foreach (testObject item in testArray)
  {
      item.propInt++;
  }
  
  //check items in list
  foreach (testObject item in testList)
  {
      Trace.WriteLine("List:" + item.propInt);
  }
  
  //check items in coppied array
  foreach (testObject item in testArray)
  {
      Trace.WriteLine("Array:" + item.propInt);
  }
  </code></pre>
  
  <p>I would expect the outcome to have been...</p>
  
  <pre><code>List:1
  List:2
  
  Array:2
  Array:3
  </code></pre>
  
  <p>Because I assumed when I made a clone, the references in that clone would have been to a new instance of the same object type bearing the same properties as when the clone was made. Furthermore I would have assumed after modifying them, that the original list would have been untouched.</p>
  
  <p>No joy, the output of this test is actually...</p>
  
  <pre><code>List:2
  List:3
  
  Array:2
  Array:3
  </code></pre>
  
  <p>So my actions on the Clone appear to be reflected in the source of the clone as well, which to me means it did not copy the object it copied the pointer to the object, and defeated the purpose of the clone method to begin with..??</p>