Dizin Sıralama.()GetFiles
System.IO.Directory.GetFiles()
string[]
döndürür. Varsayılan sıralama verilen değerler için nedir? Ne kadar geçerli bir kültür etkisi nedir? adını varsayarak, ama ben Oluşturulma tarihi gibi bir şey bunu değiştiremez misin?
Güncelleme:MSDN sıralama düzeni için garantili olmadığını belirtiyor .3.5, ama sayfanın 2.0 sürümü herhangi bir şey yazmıyor ve ne sayfa oluşturma gibi şeyler tarafından sıralama yardımcı olacak veya değişiklik Net bir zaman. Bu Bilgi dizinin (sadece dizeleri içerir) sonra kaybolur. Olur ama sürekli tahminen ne zaman dosya sistemi erişim anlamına gelen her dosya için onay verecek bir karşılaştırıcısı inşa edebilirdim .() GetFiles yöntem zaten bu. Çok verimsiz görünüyor.
CEVAP
Eğer CreationTime gibi dosyaların özelliklerini ilgileniyorsanız eğer, o zaman daha mantıklı Sistemi kullanmak için yapar.IO.Directoryınfo.() GetFileSystemİnfos. O zaman bu Sistem uzantısı yöntemlerden birini kullanarak sıralayabilirsiniz.Seri, örneğin:
DirectoryInfo di = new DirectoryInfo("C:\\");
FileSystemInfo[] files = di.GetFileSystemInfos();
var orderedFiles = files.OrderBy(f => f.CreationTime);
Edit - kusura bakma, fark etmedim .NET 2.0 etiket bu yüzden kontrol ETMENİZ sıralama görmezden. Öneri Sistemi kullanmak için.IO.Directoryınfo.() GetFileSystemİnfos yine de tutar.
Dizin arama yapabilirsiniz.() GetFiles...
Birden fazla dosya uzantıları Sistemi ...
Hangi Dizin arasındaki farktır.Enumera...
Raylar dizin "her" döngü...
Dizin Yapısını kopyalar klasör ama sad...