我正在使用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