Freigeben über


Where-Klausel (Visual Basic)

Aktualisiert: November 2007

Gibt die Filterbedingung für eine Abfrage an.

Where condition

Bestandteile

  • condition
    Erforderlich. Ein Ausdruck, mit dem ermittelt wird, ob die Werte des aktuellen Elements der Auflistung in die Ausgabeauflistung aufgenommen werden. Der Ausdruck muss sich zu einem Boolean-Wert oder dem Äquivalent eines Boolean-Werts evaluieren lassen. Wenn die Bedingung True ergibt, wird das Element in das Abfrageergebnis aufgenommen, andernfalls nicht.

Hinweise

Mit der Where-Klausel können Sie Abfragedaten filtern, indem nur die Elemente ausgewählt werden, die bestimmte Kriterien erfüllen. Elemente, durch deren Werte die Where-Klausel True ergibt, werden in das Abfrageergebnis aufgenommen, alle andere Elemente nicht. Der Ausdruck, der in einer Where-Klausel verwendet wird, muss sich zu einem Boolean oder dem Äquivalent eines Boolean evaluieren lassen, z. B. zu einem Integer-Wert, der False ergibt, wenn der Wert 0 (null) ist. Sie können in einer Where-Klausel mehrere Ausdrücke mithilfe von logischen Operatoren wie And, Or, AndAlso, OrElse, Is und IsNot kombinieren.

Standardmäßig werden Abfrageausdrücke nicht evaluiert, bis auf sie zugegriffen wird, beispielsweise wenn sie datengebunden sind oder in einer For-Schleife durchlaufen werden. Deshalb wird die Where-Klausel erst ausgewertet, wenn auf die Abfrage zugegriffen wird. Wenn Sie über Werte verfügen, die für die Abfrage extern sind und die in der Where-Klausel verwendet werden, stellen Sie sicher, dass die entsprechenden Werte zum Zeitpunkt der Ausführung der Abfrage in der Where-Klausel verwendet werden. Weitere Informationen zur Abfrageausführung finden Sie unter Schreiben der ersten LINQ-Abfrage (Visual Basic).

In einer Where-Klausel können Sie Funktionen aufrufen, um für einen Wert des aktuellen Elements der Auflistung eine Berechnung oder Operation durchzuführen. Durch das Aufrufen einer Funktion in einer Where-Klausel wird die Abfrage möglicherweise unmittelbar bei der Definition und nicht erst beim Zugriff ausgeführt. Weitere Informationen zur Abfrageausführung finden Sie unter Schreiben der ersten LINQ-Abfrage (Visual Basic).

Beispiel

Der folgende Abfrageausdruck verwendet eine From-Klausel zum Deklarieren einer Bereichsvariablen cust für jedes Customer-Objekt in der customers-Auflistung. Die Where-Klausel verwendet die Bereichsvariable, um die Ausgabe auf Kunden aus der angegebenen Region einzuschränken. Die For Each-Schleife zeigt den Namen des Unternehmens für jeden Kunden im Abfrageergebnis an.

Sub DisplayCustomersForRegion(ByVal customers As List(Of Customer), _
                              ByVal region As String)

  Dim customersForRegion = From cust In customers _
                           Where cust.Region = region

  For Each cust In customersForRegion
    Console.WriteLine(cust.CompanyName)
  Next
End Sub

Siehe auch

Konzepte

Einführung in LINQ in Visual Basic

Referenz

From-Klausel (Visual Basic)

Select-Klausel (Visual Basic)

For Each...Next-Anweisung (Visual Basic)

Weitere Ressourcen

Abfragen (Visual Basic)