List<string> s = new List<string>() { "A", "B", "A", "C", "B", "C", "D", "E" }; s = s.OrderByDescending(w => w == "C").ToList(); //.ThenBy(q => q).ToList(); //result: C,C, A,B,A,B,D,E s = s.OrderByDescending(w => w == "C").ThenBy(q => q).ToList(); //result: C,C, A,A,B,B,D,E