Dim aH() As String = (From f In
Directory.GetFiles(SuchOrdner, "*", SearchOption.AllDirectories)
Where
(
f.EndsWith(".dotx") Or
f.EndsWith(".dotm") Or
f.EndsWith(".docx") Or
f.EndsWith(".docm") Or
f.EndsWith(".dot") Or
f.EndsWith(".doc")
) And (Not f.Contains("~"))
Select f ).ToArray()
Als ich so eine Anweisung zum ersten Mal gesehen habe, musste ich mir glatt die Augen reiben! Häh?Was ist das denn?
Mit einer einzigen Anweisung werden hier alle Word-Dateien in einem Suchordner und desse Unterordner gefunden. Die kompletten Dateinamen werden im Array aH() abgelegt. Cool, oder!?
Das ist LINQ! LINQ steht für Language Integrated Query und ist ein programmtechnisches Verfahren aus dem Hause Microsoft für den Zugriff auf Daten. Dabei gibt es verschiedene LINQ Provider für verschiedene Datenquellen.
Der Vorteil:
LINQ-Anweisungen werden direkt in den Code geschrieben und können somit schon zur Entwurfszeit von der Entwicklungsumgebung auf Fehler geprüft werden.
Ohne LINQ werden Abfragen üblicherweise in Abfragestrings geschrieben (ADO, DAO). Diese werden erst zur Laufzeit interpretiert. Fehler, die dabei entstehen, sind gravierender und schwieriger zu analysieren.
Beispiel:
Ich habe eine kleines Beispiel-Projekt mit Microsoft Visual Studio Community 2015 erstellt, das hier heruntergeladen werden kann.
Interessante Links zum Thema:
- Die folgende Video-Reihe war für mein Verständ von LINQ sehr hilfreich. Sie zeigt LINQ an Beispielen aus C#:
https://www.youtube.com/watch?v=z3PowDJKOSA&list=PL6n9fhu94yhWi8K02Eqxp3Xyh_OmQ0Rp6
- Für VB.Net gibt es hier interessante Beispiele: https://www.dotnetperls.com/linq-vbnet
Kommentar schreiben