Aracılığıyla paylaş


LINQ ve Dosya Dizinleri (Visual Basic)

Birçok dosya sistemi işlemi temelde sorgulardır ve bu nedenle LINQ yaklaşımına çok uygundur.

Bu bölümdeki sorguların yıkıcı olmadığını unutmayın. Özgün dosya veya klasörlerin içeriğini değiştirmek için kullanılmazlar. Bu, sorguların herhangi bir yan etkiye neden olmaması kuralına uyar. Genel olarak, kaynak verileri değiştiren tüm kodlar (oluşturma/güncelleştirme/silme işleçleri gerçekleştiren sorgular dahil) yalnızca verileri sorgulayan koddan ayrı tutulmalıdır.

Bu bölüm aşağıdaki konular içerir:

Nasıl yapılır: Belirtilen Öznitelik veya Ada Sahip Dosyaları Sorgulama (Visual Basic)
Nesnesinin bir veya daha fazla özelliğini inceleyerek dosyaların nasıl aranacaklarını FileInfo gösterir.

Nasıl yapılır: Dosyaları Uzantıya Göre Gruplandırma (LINQ) (Visual Basic)
Nesne gruplarının FileInfo dosya adı uzantısına göre nasıl döndürüleceği gösterilir.

Nasıl yapılır: Bir Klasör Kümesindeki Toplam Bayt Sayısını Sorgulama (LINQ) (Visual Basic)
Belirtilen dizin ağacındaki tüm dosyalardaki toplam bayt sayısının nasıl döndürüleceği gösterilir.

Nasıl yapılır: İki Klasörün İçeriğini Karşılaştırma (LINQ) (Visual Basic)s
Belirtilen iki klasörde bulunan tüm dosyaların ve aynı zamanda bir klasörde bulunan ancak diğer klasörde bulunmayan tüm dosyaların nasıl döndürüldüğünü gösterir.

Nasıl yapılır: Dizin Ağacındaki En Büyük Dosya veya Dosyaları Sorgulama (LINQ) (Visual Basic)
Dizin ağacında en büyük veya en küçük dosyanın veya belirtilen sayıda dosyanın nasıl döndürüleceği gösterilir.

Nasıl yapılır: Dizin Ağacında Yinelenen Dosyaları Sorgulama (LINQ) (Visual Basic)
Belirtilen dizin ağacında birden fazla konumda yer alan tüm dosya adlarının nasıl gruplandırıldığını gösterir. Ayrıca, özel bir karşılaştırıcıyı temel alarak daha karmaşık karşılaştırmalar gerçekleştirmeyi de gösterir.

Klasördeki dosyaların içeriğini sorgulama (LINQ) (Visual Basic)
Bir ağaçtaki klasörlerde yinelemeyi, her dosyayı açmayı ve dosyanın içeriğini sorgulamayı gösterir.

Açıklamalar

Dosya sisteminin içeriğini doğru bir şekilde temsil eden ve özel durumları düzgün bir şekilde işleyen bir veri kaynağı oluşturmanın karmaşıklığı vardır. Bu bölümdeki örnekler, belirtilen kök klasör altındaki tüm dosyaları ve tüm alt klasörlerini temsil eden nesnelerin anlık görüntü koleksiyonunu FileInfo oluşturur. Her FileInfo birinin gerçek durumu, bir sorguyu yürütmeye başladığınız ve bitirdiğiniz zaman arasında değişebilir. Örneğin, veri kaynağı olarak kullanılacak nesnelerin listesini FileInfo oluşturabilirsiniz. Bir sorguda özelliğine Length erişmeye çalışırsanız, FileInfo nesnesi değerini Lengthgüncelleştirmek için dosya sistemine erişmeye çalışır. Dosya artık yoksa, doğrudan dosya sistemini sorgulamasanız bile sorgunuzda bir FileNotFoundException alırsınız. Bu bölümdeki bazı sorgular, belirli durumlarda bu özel durumları kullanan ayrı bir yöntem kullanır. Bir diğer seçenek de kullanarak veri kaynağınızın dinamik olarak güncel kalmasını sağlamaktır FileSystemWatcher.

Ayrıca bkz.