【发布时间】:2015-08-11 22:08:27
【问题描述】:
我有两个列表,一个包含 url,另一个包含所有 MIME 文件扩展名。我想从第一个列表中删除所有指向此类文件的 url。
示例代码:
List<string> urls = new List<string>();
urls.Add("http://stackoverflow.com/questions/ask");
urls.Add("http://stackoverflow.com/questions/dir/some.pdf");
urls.Add("http://stackoverflow.com/questions/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 循环的唯一方法?
【问题讨论】: