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:
Jak: kwerendy dla plików z określonego atrybutu lub nazwy
Pokazuje, jak wyszukiwać pliki poprzez badanie właściwości jednego lub więcej jej FileInfo obiektu.Jak: grupy plików przez rozszerzenie (LINQ)
Pokazuje, jak powrót grupy FileInfo obiektu na podstawie ich rozszerzenie nazwy pliku.Jak: kwerendy o całkowitą liczbę bajtów w zbiorze folderów (LINQ)
Pokazuje, jak zwrócić całkowita liczba bajtów we wszystkich plikach w drzewie określonego katalogu.Jak: porównuje zawartość dwóch folderów (LINQ)s
Pokazuje, jak zwrotu wszystkie pliki, które znajdują się w dwóch określonych folderów, a także wszystkie pliki, które znajdują się w jednym folderze, ale nie dla drugiego.Jak: kwerendy dla największych plik lub pliki w drzewie katalogów (LINQ)
Pokazuje, jak zwrócić plik największej lub najmniejszej lub określona liczba plików, w drzewie katalogów.Jak: kwerendy dla plików duplikat w drzewie katalogów (LINQ)
Pokazuje, jak grupa dla wszystkich nazw plików, które występują w więcej niż jedną lokalizację w drzewie określonego katalogu.Również pokazuje, jak wykonywać bardziej złożone porównania na podstawie niestandardowego modułu porównującego.Jak: kwerendy zawartość plików w folderze (LINQ)
Pokazuje, jak iteracji w drzewie w folderach, należy otworzyć każdy plik i zbadać zawartość pliku.
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.