Sdílet prostřednictvím


LINQ a souborové adresáře

Mnoho operací systému souborů jsou v podstatě dotazy a jsou proto vhodné, aby LINQ přístup.

[!POZNÁMKA]

Pokud chcete provádět programové dotazy obsah více typů souborů a dokumentů, zvažte použití Windows Desktop vyhledávací stroj.Ačkoli nelze nyní zjistit s LINQ, poskytuje výkonné služby indexování efektivně spravuje složitosti systému souborů.

Všimněte si, že dotazy v této části jsou nedestruktivní.Používají se nesmí změnit obsah původní soubory nebo složky.Toto vyplývá pravidlo dotazů nesmí způsobit žádné vedlejší účinky.Obecně jakýkoli kód (včetně dotazů, které provádějí vytvořit / aktualizovat / odstranit subjektů), který upravuje zdrojových dat by uchovávány odděleně od kódu pouze zadávání dotazů data.

Tato část obsahuje následující témata:

Komentáře

Vytvoření zdroje dat, který přesně představuje obsah souboru systému a řádně zpracovává výjimky je některé složitosti.Příklady v této části vytvořit kolekci snímek FileInfo objekty, které představuje všechny soubory v zadané kořenové složky a všech podsložek.Skutečný stav každého FileInfo v době mezi při zahájení a ukončení, spuštění dotazu se může změnit.Můžete například vytvořit seznam FileInfo objekty, které chcete použít jako zdroj dat.Při pokusu o přístup Length vlastnost v dotazu, FileInfo se pokusí o přístup k systému souborů k aktualizaci hodnoty objektu Length.Pokud soubor již existuje, můžete získat FileNotFoundException v dotazu, přestože není dotazu systému souborů přímo.Některé dotazy v této části použijte samostatný metodu, která spotřebovává tyto zvláštní výjimky v určitých případech.Další možností je zachovat dynamicky aktualizován pomocí zdroje dat FileSystemWatcher.

Viz také

Koncepty

LINQ na objekty