回答完这个问题后,我看了很多问题。
我如何找到一个目录中是否存在至少一个(如果你给我数量更好)与某个正则表达式匹配的文件?
我知道我可以用这个答案循环目录中的文件
但是有一种不循环计数的方法吗?
我尝试使用 count() 但这不起作用
回答完这个问题后,我看了很多问题。
我如何找到一个目录中是否存在至少一个(如果你给我数量更好)与某个正则表达式匹配的文件?
我知道我可以用这个答案循环目录中的文件
但是有一种不循环计数的方法吗?
我尝试使用 count() 但这不起作用
取自您链接的问题/答案,这应该有效:
int count = Directory.GetFiles(@"c:\temp").Count(path => Regex.IsMatch(path, pattern));
通过使用 Directory.GetFiles 方法返回的数组的 Length 属性,您可以在没有底部 foreach 循环的情况下获取它们。
int count = matches.Length;
http://msdn.microsoft.com/en-us/library/system.array.length.aspx
如果模式很简单,那么目录中的 GetFiles 已经在不使用 RegEx 的情况下提供了信息。
int count = Directory.GetFiles(@"c:\", "*.txt", SearchOption.AllDirectories).Count();