better alternative to C# contains method : <p>Is there a faster alternative to using the Contains method in C#?  </p>

<p>Here is a sample that looks like what I'm trying to do, but I have read that Contains is an expensive way to do it and I want to find a better alternative as speed is important.</p>

<pre><code>    public List&lt;Guid&gt; getCumulativeListByUsername(string username)
    {
        List&lt;Guid&gt; CombinedList = new List&lt;Guid&gt;();
        List&lt;Guid&gt; ListA = new List&lt;Guid&gt;();
        List&lt;Guid&gt; ListB = new List&lt;Guid&gt;();

        ListA = getListAFromDatabase(username);
        ListB = getListBFromDatabase(username);

        CombinedList = ListA;

        foreach (Guid x in ListB)
        {
            if (!CombinedList.Contains(x))
            {
                CombinedList.Add(x);
            }
        }
        return CombinedList;
    }
</code></pre>

<p>If you could explain your reasoning as well, it would be appreciated.</p>
