我有一个很大的文件名列表,其中一些包含空格,例如
“\ project summary version 2.xls”
或
“\ production q3.pdf”
这些文件名以字符串格式存储在对象中。
问:我希望能够使用linq查询对象并将所有这些非法文件名一起收集?
答案 0 :(得分:6)
您可以这样做:
List<string> filenames = ...
List<string> filenamesWithSpaces = filenames.Where(f => f.Contains(" ")).ToList();
答案 1 :(得分:0)
你有很多选择。
我这样做的一种方法是使用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);