LINQ ve Dosya Dizinleri
Pek çok dosya sistemi işlemleri aslında sorgular ve bu nedenle için uygun LINQ bir yaklaşım.
[!NOT]
Birden çok türde dosya ve belgelerin içeriğini programlı sorgular gerçekleştirmek istiyorsanız, kullanmayı Windows masaüstü arama motoru.İle şu anda sorgulanamıyor rağmen LINQ, karmaşıklık dosya sisteminin etkin bir şekilde yöneten güçlü bir dizin oluşturma hizmeti sağlar.
Bu bölümdeki sorguların dönüştürmede olduğuna dikkat edin.Özgün dosya veya klasörlerin içeriğini değiştirmek için kullanılmaz.Bu sorgu herhangi bir yan etkilere neden olmamalıdır kuralı izler.Genel olarak, kaynak verileri değiştiren (gerçekleştirmek de dahil olmak üzere sorgular oluşturma / update / işleçleri delete) herhangi bir kod yalnızca veri sorgular kodundan ayrı tutulmalıdır.
Bu bölüm aşağıdaki konuları içerir:
Nasıl Yapılır: Belirli bir Öznitelik veya Ada Sahip Dosyaları Sorgulama
Bir veya daha fazla özelliklerini inceleyerek dosyaları aramak nasıl gösterir, FileInfo nesne.Nasıl yapılır: Dosyaları Uzantıya Göre Gruplama (LINQ)
Gruplarının dönmek gösterilmiştir FileInfo nesne dosya adı uzantısına göre.Nasıl yapılır: Bir Klasör Kümesindeki Toplam Bayt Sayısını Sorgulama (LINQ)
Belirtilen dizin ağacındaki tüm dosyalardaki toplam bayt sayısını döndürmek nasıl gösterir.Nasıl yapılır: İki Klasörün İçeriğini Karşılaştırma (LINQ) s
İki belirtilen klasörlerde bulunan tüm dosyaları ve tek bir klasörde ancak diğer varsa da tüm dosyaları geri dönmek gösterilmiştir.Nasıl yapılır: Bir Dizin Ağacındaki En Büyük Dosya veya Dosyalar için Sorgu (LINQ)
En büyük veya en küçük dosya veya dosyaları, belirli sayıda bir dizin ağacında dönmek gösterilmiştir.Nasıl yapılır: Bir Dizin Ağacında Yineleyen Dosyalar için Sorgu (LINQ)
Belirtilen dizin ağacında birden fazla yerde ortaya çıkan tüm dosya adları için Grup gösterilmiştir.Ayrıca nasıl yapılacağı üzerinde özel bir karşılaştırıcısı göre daha karmaşık karşılaştırmaları gösterir.Nasıl yapılır: Bir Klasördeki Dosyaların İçeriğini Sorgulama (LINQ)
Klasör ağacındaki yinelemenize, her dosyayı açın ve dosyanın içeriğini sorgulamak gösterilmiştir.
Comments
Bazı karmaşıklık söz konusu dosya sisteminin içeriğini temsil eder ve özel durumları düzgün biçimde işler doğru bir veri kaynağı oluşturmak.Bu bölümdeki örnekler anlık topluluğu oluşturmak FileInfo belirtilen kök klasörü altındaki tüm dosya ve alt klasörleri temsil eden nesneler.Her birinin gerçek durumunu FileInfo ne zaman başladığı ve sona bir sorguyu yürüttükten arasında zaman içinde değişebilir.Örneğin, bir listesini oluşturabilirsiniz FileInfo veri kaynağı olarak kullanmak için nesneler.Erişmeye çalışırsanız, Length özelliği bir sorgu FileInfo değerini güncelleştirmek için dosya sistemine erişmek nesne çalýþýlýr Length.Dosya artık yoksa, elde edersiniz bir FileNotFoundException , sorgunuzda bile değil sorguladığınız dosya sistemi doğrudan.Bu bölümdeki bazı sorgular tüketir, bazı durumlarda belirli aşağıdaki özel durumlar dışında ayrı bir yöntem kullanın.Başka bir seçeneği kullanarak dinamik olarak güncelleştirilen veri kaynağınız saklamaktır FileSystemWatcher.