Delen via


Procedure: Query uitvoeren op tekens in een tekenreeks (LINQ) (Visual Basic)

Omdat de String klasse de algemene IEnumerable<T> interface implementeert, kan elke tekenreeks worden opgevraagd als een reeks tekens. Dit is echter geen gemeenschappelijk gebruik van LINQ. Gebruik de Regex klasse voor complexe patroonkoppelingsbewerkingen.

Opmerking

In het volgende voorbeeld wordt een tekenreeks opgevraagd om het aantal numerieke cijfers te bepalen dat deze bevat. Houd er rekening mee dat de query opnieuw wordt gebruikt nadat deze de eerste keer is uitgevoerd. Dit is mogelijk omdat de query zelf geen werkelijke resultaten opslaat.

Class QueryAString

    Shared Sub Main()

        ' A string is an IEnumerable data source.
        Dim aString As String = "ABCDE99F-J74-12-89A"

        ' Select only those characters that are numbers
        Dim stringQuery = From ch In aString
                          Where Char.IsDigit(ch)
                          Select ch
        ' Execute the query
        For Each c As Char In stringQuery
            Console.Write(c & " ")
        Next

        ' Call the Count method on the existing query.
        Dim count As Integer = stringQuery.Count()
        Console.WriteLine(System.Environment.NewLine & "Count = " & count)

        ' Select all characters before the first '-'
        Dim stringQuery2 = aString.TakeWhile(Function(c) c <> "-")

        ' Execute the second query
        For Each ch In stringQuery2
            Console.Write(ch)
        Next

        Console.WriteLine(System.Environment.NewLine & "Press any key to exit")
        Console.ReadKey()
    End Sub
End Class
' Output:
' 9 9 7 4 1 2 8 9
' Count = 8
' ABCDE99F

De code compileren

Maak een Visual Basic-consoletoepassingsproject met een Imports instructie voor de System.Linq-naamruimte.

Zie ook