Comparando dos listas <string> para la igualdad

Aparte de repasar los elementos uno por uno, ¿cómo comparo dos listas de cadenas para la igualdad (en .NET 3.0):

Esto falla:

// Expected result.
List<string> expected = new List<string>();
expected.Add( "a" );
expected.Add( "b" );
expected.Add( "c" );

// Actual result
actual = new List<string>();
actual.Add( "a" );
actual.Add( "b" );
actual.Add( "c" );

// Verdict
Assert.IsTrue( actual == expected );