<p>Eh bien, il serait plus facile de les exclure des le depart :</p>
<pre><code class="lang-auto">authorsList = authorsList.Where(x => x.FirstName != "Bob").ToList();
</code></pre>
<p>Cependant, cela ne ferait que changer la valeur de <code>authorsList</code> au lieu de supprimer les auteurs de la collection precedente. Alternativement, vous pouvez utiliser <a href="http://msdn.microsoft.com/en-us/library/wdka673a.aspx"><code>RemoveAll</code></a> :</p>
<pre><code class="lang-auto">authorsList.RemoveAll(x => x.FirstName == "Bob");
</code></pre>
<p>Si vous avez vraiment besoin de le faire en vous basant sur une autre collection, nous vous recommandons d’utiliser un HashSet, RemoveAll et Contains :</p>
<pre><code class="lang-auto">var setToRemove = new HashSet<Author>(authors);
authorsList.RemoveAll(x => setToRemove.Contains(x));
</code></pre>