What is the difference between HashSet<T> and List<T>?

Can you explain what is the difference between HashSet&lt;T&gt; and List&lt;T&gt; in .NET? Maybe you can explain with an example in what cases HashSet&lt;T&gt; should be preferred against List&lt...