Condividi tramite


Clausola Where (Visual Basic)

Aggiornamento: novembre 2007

Specifica le condizioni di filtro per una query.

Where condition

Parti

  • condition
    Obbligatorio. Espressione che determina se i valori per l'elemento corrente dell'insieme vengono inclusi nell'insieme di output. L'espressione deve restituire un valore Boolean oppure l'equivalente di un valore Boolean. Se la condizione restituisce True, l'elemento viene incluso nel risultato della query; in caso contrario, l'elemento viene escluso dal risultato della query.

Note

La clausola Where consente di filtrare i dati della query selezionando solo gli elementi che soddisfano determinati criteri. Gli elementi i cui valori sono tali che la clausola Where restituisce True vengono inclusi nel risultato della query; gli altri elementi vengono esclusi. L'espressione utilizzata in una clausola Where deve restituire un Boolean o l'equivalente di un Boolean, ad esempio un valore Integer che restituisce False quando il valore è zero. È possibile combinare più espressioni in una clausola Where utilizzando operatori logici come And, Or, AndAlso, OrElse, Is, e IsNot.

Per impostazione predefinita, le espressioni di query non vengono valutate fino a che si accede ad esse, ad esempio quando sono associate a dati o quando vengono fatte scorrere in un ciclo For. Di conseguenza, la clausola Where non viene valutata, fino a che si accede alla query. Se si dispone di valori esterni alla query utilizzati nella clausola Where, assicurarsi che venga utilizzato il valore adatto nella clausola Where quando la query viene eseguita. Per ulteriori informazioni sull'esecuzione delle query, vedere Scrittura della prima query LINQ (Visual Basic).

È possibile chiamare funzioni all'interno di una clausola Where per eseguire un calcolo o un'operazione su un valore dall'elemento corrente dell'insieme. La chiamata di una funzione in una clausola Where può fare in modo che la query venga eseguita immediatamente quando viene definita anziché quando si accede ad essa. Per ulteriori informazioni sull'esecuzione delle query, vedere Scrittura della prima query LINQ (Visual Basic).

Esempio

Nell'espressione di query seguente viene utilizzata una clausola From per dichiarare una variabile di intervallo cust per ogni oggetto Customer nell'insieme customers. La clausola Where utilizza la variabile di intervallo per restringere l'output ai clienti dalla regione specificata. Il ciclo For Each visualizza il nome di azienda per ogni cliente nel risultato della query.

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

Vedere anche

Concetti

Introduzione a LINQ in Visual Basic

Riferimenti

Clausola From (Visual Basic)

Clausola Select (Visual Basic)

Istruzione For Each...Next (Visual Basic)

Altre risorse

Query (Visual Basic)