Dela via


Anvisningar: Fråga efter tecken i en sträng (LINQ) (Visual Basic)

String Eftersom klassen implementerar det allmänna IEnumerable<T> gränssnittet kan alla strängar efterfrågas som en teckensekvens. Detta är dock inte en vanlig användning av LINQ. Använd klassen för Regex komplexa mönstermatchningsåtgärder.

Exempel

I följande exempel efterfrågas en sträng för att fastställa antalet numeriska siffror som den innehåller. Observera att frågan "återanvänds" när den körs första gången. Detta är möjligt eftersom själva frågan inte lagrar några faktiska resultat.

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

Kompilera koden

Skapa ett Visual Basic-konsolprogramprojekt med en Imports instruktion för System.Linq-namnområdet.

Se även