title: Least cpu intensive method of checking if a list has changed in c#
body: <p>I have a function that is to be called if a list has changed since it was last called, what would be the best way of implementing this?</p>
  
  <p>ex:</p>
  
  <pre><code>List&lt;A&gt; OurList = new List&lt;A&gt;();
  private void Update()
  {
      Boolean Changed = //?    
      if(Changed) CheckList(OurList);
  }
  </code></pre>
  
  <p>I would have assumed make a variable to store the old list and compare, but how would I update the old list to the new list without copying it all out? (If I do an assign, it will update the "old list" too)</p>