Używam Directory.GetFiles()
do wypisywania plików według podanego wzorca. Działa to dobrze dla większości wzorców, których szukam (np. Zip, rar, sfv).Wzorzec Directory.GetFiles() pasuje w C#
Tak przygotowuję listę (mniej więcej). Problem polega na wzorze liczb od .001 do .999, który chcę wyświetlić.
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);
}
I wtedy zadzwonić
string[] files = Directory.GetFiles(strDirName, varPattern);
dla każdego wzoru w tablicy, która wydaje się bardzo zły pomysł, aby to zrobić, ponieważ lista zawiera 1002 haseł i sprawdzenie czy katalog ma każdy z nich jest tylko trochę zbyt czasochłonne.
Czy istnieje lepszy sposób na zrobienie tego?
Dzięki, że powinien to zrobić :-) – MadBoy
Hrmms, nie wydaje się być czymś źle, 000-999 nie ładnie się konwertuje. Pokazuje 1000 000 itd., A nawet ty masz pliki zip, a 001 nic nie zwraca dla plików ..:/ – MadBoy
Prawdopodobnie problem z formatem ciągów. Spróbuj zastąpić: i => i.ToString (". 000") za pomocą: i => "." + i –