Udostępnij za pośrednictwem


LINQ i katalogów plików

Wiele operacji w systemie plików są zasadniczo kwerendy i dlatego służącej do LINQ podejście.

[!UWAGA]

Do wykonywania kwerend programowych przeciwko zawartości wielu typów plików i dokumentów, należy rozważyć użycie Windows Desktop Search Engine.Chociaż obecnie nie można zbadać z LINQ, zapewnia wydajne usługi indeksowania, która skutecznie zarządza złożoności systemu plików.

Należy zauważyć, że kwerendy w tej sekcji nieniszczące.Nie są używane do zmiany zawartości oryginalnych plików lub folderów.Wynika to reguła kwerendy nie powinny powodować żadnych efektów ubocznych.Ogólnie rzecz biorąc każdy kod (łącznie kwerend, które wykonują utworzyć / zaktualizować / delete podmioty gospodarcze), który modyfikuje dane źródłowe powinny być trzymane oddzielnie od kod, który właśnie kwerendy danych.

Ta sekcja zawiera następujące tematy:

Komentarze

Istnieje pewna złożoność zaangażowanych w tworzenie źródła danych, które dokładnie przedstawia zawartość systemu plików i bezpiecznie obsługuje wyjątki.Przykłady w tej sekcji utworzyć kolekcję migawka FileInfo obiektów, które reprezentuje wszystkie pliki w folderze określonego katalogu głównego i wszystkich jego podfolderów.Rzeczywisty stan FileInfo może się zmieniać w czasie między podczas rozpoczęcia i zakończenia, wykonywanie kwerendy.Na przykład, można utworzyć listę z FileInfo obiekty do użytku jako źródła danych.Jeśli próby uzyskania dostępu do Length właściwość w kwerendzie, FileInfo obiektu próbować uzyskać dostęp do systemu plików, aby zaktualizować wartość Length.Jeśli ten plik już istnieje, zostanie wyświetlony FileNotFoundException w kwerendzie, mimo że nie wyszukując w systemie plików bezpośrednio.Niektóre kwerendy w tej sekcji należy użyć metody oddzielnych, który używa tych szczególnych wyjątków w niektórych przypadkach.Inną opcją jest utrzymywanie źródła danych, aktualizowane dynamicznie przy użyciu FileSystemWatcher.

Zobacz też

Koncepcje

LINQ do obiektów