Aracılığıyla paylaş


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:

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.

Ayrıca bkz.

Kavramlar

LINQ nesnelere