У меня есть два списка: один содержит URL-адреса и другой, содержащий все расширения MIME файлов. Я хочу удалить из первого списка все URL-адреса, указывающие на такие файлы.
Пример кода:
List<string> urls = new List<string>();
urls.Add("http://stackoverflow.com/info/ask");
urls.Add("http://stackoverflow.com/info/dir/some.pdf");
urls.Add("http://stackoverflow.com/info/dir/some.doc");
//total items in the second list are 190
List<string> mime = new List<string>();
mime.Add(".pdf");
mime.Add(".doc");
mime.Add(".dms");
mime.Add(".dll");
Один способ удаления нескольких элементов:
List<string> result = urls.Where(x => (!x.EndsWith(".pdf")) && (!x.EndsWith(".doc")) && (!x.EndsWith(".dll"))).ToList();
Однако во втором списке есть более 190 расширений.
Вопрос: могу ли я удалить элементы из первого списка с одним лайнером или использовать цикл foreach единственным способом?