LINQ ("Language Integrated Query")
LINQ ist eine Abfragesprache von Microsoft für VisualBasic (und C#). Die Ausdrücke ermöglichen es Ihnen unter anderem Listen zu sortieren, zu durchsuchen und zu filtern.
Die können LINQ auf zwei Arten schreiben:
- Abfrage-Syntax (Query)
- Methoden-Syntax (Method)
Beide Schreibweisen sind gleichwertig.
Codeblock | ||||
---|---|---|---|---|
| ||||
' Liefert die Namen aller Dateien der Auflistung "aFileInfoArray", die größer als 10000 Byte ist und auf ".txt" enden. FROM fileInfo IN aFileInfoArray WHERE fileInfo.FileSize>10000 AND fileInfo.Extension.ToUpper()=".TXT" SELECT fileInfo.FullName |
Codeblock | ||||
---|---|---|---|---|
| ||||
' Liefert die Namen aller Dateien der Auflistung "aFileInfoArray", die größer als 10000 Byte ist und auf ".txt" enden. aFileInfoArray.Where(Function(fileInfo) fileInfo.FileSize>10000 and fileInfo.Extension.ToUpper()=".TXT" ).Select(Function(fileInfo) fileInfo.FullName) |
Weitere Hilfestellungen und Informationen zu LINQ finden Sie u.a. hier:
- https://www.tutlane.com/tutorial/linq/linq-syntax-query-syntax-method-syntax
- https://docs.microsoft.com/de-de/dotnet/visual-basic/programming-guide/language-features/linq/introduction-to-linq
- https://de.wikipedia.org/wiki/LINQ
Beispiel
Es sollen nur Dateien, die größer als 10000 Bytes sind ermittelt werden.
Gehen Sie wie folgt vor:
- Ermitteln Sie mir der Aktivität "Dateien ermitteln" alle Dateien eines Verzeichnisses. Das Ergebnis erhalten Sie in der Variable "aFileInfo" vom Typ "List of FileInfo"
- Mit einer Assign-Aktivität können Sie nun eine LINQ-Abfrage anwenden und diese Liste filtern:
- Der Ausdruck "(FROM fileInfo IN aFileInfoArray WHERE fileInfo.FileSize > 10000 SELECT fileInfo.FileName).ToList()" selektiert alle Dateinamen der gesuchten Dateien
- Mit "ToList" am Ende geben Sie an, dass sie die gefundenen Einträge in eine Liste schreiben möchten (hier in die Liste "bigFiles")
Info | ||
---|---|---|
| ||
Um das erste gefundene Element zu protokollieren gibt man z.B.
|
Panel | ||
---|---|---|
| ||