我试图在我的where子句之后根据数组中的字符串数量有多个||.
string[] searchStrings = new string[]{"test", "tester", "test3"};
var files = Directory.EnumerateFiles("FolderPath", "*.*", SearchOption.AllDirectories)
.Where(s => s.Contains(searchStrings[0]) || s.Contains(searchStrings[1]));
Run Code Online (Sandbox Code Playgroud)
它应该做的是在文件夹中搜索文件,如果文件名包含数组中的每个关键字,那么它将被放入文件中.目前我可以通过添加更多||来硬编码多少次搜索,但我想知道有没有办法根据searchStrings数组的大小自动执行此操作.
你可以使用.Any()例如:
.Where(dir => searchStrings.Any(s => dir.Contains(s)));
Run Code Online (Sandbox Code Playgroud)
通过检查目录名是否包含至少一个来自集合的searchString,它将允许获得所需的结果searchStrings.
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |