title: Remove item from list by value
body: <p>I have a list of class objects and want to remove one item but it doesn´t work: </p>
  
  <pre><code>    class Person
      {
          public string name; 
          public Person(string s)
          {
              this.name = s;
          }
      }
  
      void ABC()
      {
          List&lt;Person&gt; newPersonList = new List&lt;Person&gt;();
          newPersonList.Add(new Person("A"));
          newPersonList.Add(new Person("B"));
          newPersonList.Add(new Person("C"));
  
          newPersonList.Remove(A);
          newPersonList.RemoveAt(1);
      }
  </code></pre>
  
  <p>RemoveAt(1) works and deletes item with the ID 1. </p>
  
  <p>I think Remove(A) should delete the item with the value "A". But this is not working. Can someone explain why? And what is the right way to delete by value? </p>