Comparando dois List <string> para igualdade

Além de percorrer os elementos um por um, como faço para comparar duas listas de strings por igualdade (no .NET 3.0):

Isso falha:

// 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 );

questionAnswers(8)

yourAnswerToTheQuestion