title: make new object from another object without change in new one when i changed in old one
body: <p>I have object <code>parent</code>  type of <code>Border</code> and I want to make new object <code>temp</code> equal to <code>parent</code> but I can change in <code>parent</code> without change in <code>temp</code> </p>
  
  <p>if I write <code>Border temp = parent</code> </p>
  
  <p>if I changed anything in <code>parent</code> it will change in <code>temp</code> </p>
  
  <p>and if I write <code>Border temp = new border(parent)</code> </p>
  
  <p>if I changed anything in <code>parent</code> it will change in <code>temp</code></p>
  
  <p>this 2 ways are wrong i want it without change in temp</p>
  
  <p>border Class :</p>
  
  <pre><code>int x;
          int y;
          string name;
          List&lt;Element&gt; Border_elements;
          Point[] Border_border;
          BorderUnits[,] borderunitsvalue;
          int Numberofunits;
  </code></pre>
  
  <p>borderunits class :</p>
  
  <pre><code>bool isempty;
          int currentelementid;
          int x;
          int y;
          List&lt;int&gt; visitedelementsid;
  </code></pre>