我有一个很大的文件名列表,其中一些包含空格,例如
“\项目摘要版本 2.xls”
或者
“\生产 q3.pdf”
这些文件名以字符串格式存储在对象中。
问:我希望能够使用 linq 查询对象并将所有这些非法文件名收集在一起?
你可以这样做:
List<string> filenames = ...
List<string> filenamesWithSpaces = filenames.Where(f => f.Contains(" ")).ToList();
你有很多选择。
我这样做的一种方法是使用string.Split
并检查它的结果:
List<string> filenames = new List<string>(); // fill this list in some way.
var filesResult = filenames.Select(f => new { Filename = f, HasSpaces = f.Split(' ').Count() > 1 });
var filesWithSpaces = filesResult.Where(f => f.HasSpaces);