There is the Except method in LINQ and in your example should be used in the following way.
List<string> a = new List<string>() { "A", "B", "C", "D" };
List<string> b = new List<string>() { "A", "B", "E", "F" };
List<string> c = a.Except(b).ToList<string>();
What you will find in the list c are two elements, C and D, the once that are contained in the list a and not in the list b.
By searching on google you will find more examples.
Cheers
EDIT:
Based on new information this is a possible solution:
List<string> a = new List<string>() { "B", "C", "D", "E" };
List<string> b = new List<string>() { "A", "B", "C" };
a = b.Except(a).ToList<string>();
Cheers