Удалить элементы из одного списка <T>, которые находятся в другом

У меня есть два списка

 List<T> list1 = new List<T>();
 List<T> list2 = new List<T>();

Я хочу удалить все элементы из list1, которые также существуют в list2. Конечно, я могу пройтись по первому циклу, ища каждый элемент в list2, но я ищу элегантное решение.

Спасибо!

Ответы на вопрос(7)

Ваш ответ на вопрос