Linq过滤List,其中包含另一个List中的字符串值。
- 论坛
- Linq过滤List<string>,其中包含另一个List<string>中的字符串值。
22 浏览
Linq过滤List,其中包含另一个List中的字符串值。
我有两个List对象(简化):
var fileList = Directory.EnumerateFiles(baseSourceFolderStr, fileNameStartStr + "*", SearchOption.AllDirectories); var filterList = new List(); filterList.Add("ThisFolderName"); filterList.Add("ThatFolderName");
我想要过滤fileList,只返回包含filterList中任何文件夹名称的文件。(希望这样说得清楚..)
我尝试了以下表达式,但始终返回一个空列表。
var filteredFileList = fileList.Where(fl => fl.Any(x => filterList.Contains(x.ToString())));
我似乎无法理解为什么什么都没有,显然我漏了什么,但我不知道是什么。
[编辑]
好吧,看起来我在问题中应该更清楚,我试图在我的fileList中搜索包含filterList中字符串值的子字符串的文件。我已经标记了下面的答案,供那些试图做类似事情的人参考。