我正在使用Directory.GetFiles()
根据给定的模式列出文件。这适用于我正在查找的大多数模式(例如zip,rar,sfv)。C#中的Directory.GetFiles()模式匹配
这是我如何准备清单(或多或少)。问题是我想列出的.001到.999的数字模式。
alArrayPatternText.Add("*.zip");
alArrayPatternText.Add("*.sfv");
alArrayPatternText.Add("*.r??");
alArrayPatternText.Add("*.001");
for (int i = 2; i <= 999; i++)
{
string findNumber = String.Format("{0:000}", i);
alArrayPatternText.Add("*." + findNumber);
}
我再打电话
string[] files = Directory.GetFiles(strDirName, varPattern);
在阵列这似乎是非常糟糕的主意,这样做,因为列表中有1002项和检查,如果目录已每个人只是有点每个模式太耗时。
会有更好的方法来做到这一点吗?
谢谢,这应该这样做:-) – MadBoy 2010-12-12 19:20:41
Hrmms,似乎有什么东西错误,000-999不能很好地转换。它显示为1,000 2,000等,甚至你的目录有zip文件和001不会返回任何文件..:/ – MadBoy 2010-12-12 20:50:59
可能是一个字符串格式问题。尝试替换:i => i.ToString(“。000”):i =>“。” + i – 2010-12-12 21:35:04