Quantificazione delle operazioni in LINQ

Questi operatori restituiscono un valore booleano, ovvero Vero o Falso, quando alcuni o tutti gli elementi all'interno di una sequenza soddisfano una condizione specifica.

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
Tutti Restituisce un valore "True" se tutti gli elementi di una sequenza soddisfano una condizione del predicato Non applicabile Aggrega ... In ... Into All (...)
Qualunque Determina mediante la ricerca di una sequenza se qualsiasi elemento della stessa soddisfa una condizione specificata Non applicabile Aggrega ... In ... In qualsiasi ()
Contiene Restituisce un valore "Vero" se rileva che un elemento specifico è presente in una sequenza se la sequenza non contiene quell'elemento specifico, viene restituito il valore "falso" Non applicabile Non applicabile

Esempio di metodo di estensione All - All (Of TSource)

VB

Module Module1

   Sub Main()

      Dim barley As New Pet With {.Name = "Barley", .Age = 4}
      Dim boots As New Pet With {.Name = "Boots", .Age = 1}
      Dim whiskers As New Pet With {.Name = "Whiskers", .Age = 6}
      Dim bluemoon As New Pet With {.Name = "Blue Moon", .Age = 9}
      Dim daisy As New Pet With {.Name = "Daisy", .Age = 3}

      Dim charlotte As New Person With {.Name = "Charlotte", .Pets = New Pet() {barley, boots}}
      Dim arlene As New Person With {.Name = "Arlene", .Pets = New Pet() {whiskers}}
      Dim rui As New Person With {.Name = "Rui", .Pets = New Pet() {bluemoon, daisy}}

      Dim people As New System.Collections.Generic.List(Of Person)(New Person() {charlotte, arlene, rui})

      Dim query = From pers In people
                  Where (Aggregate pt In pers.Pets Into All(pt.Age > 2))
                  Select pers.Name

      For Each e In query
         Console.WriteLine("Name = {0}", e)
      Next

      Console.WriteLine(vbLf & "Press any key to continue.")
      Console.ReadKey()
	  
   End Sub

   Class Person
      Public Property Name As String
      Public Property Pets As Pet()
   End Class

   Class Pet
      Public Property Name As String
      Public Property Age As Integer
   End Class
   
End Module

Quando il codice sopra in VB viene compilato e eseguito, produce il seguente risultato:

Arlene 
Rui 

Press any key to continue.

Esempio di qualsiasi metodo di estensione

VB

Module Module1

   Sub Main()

      Dim barley As New Pet With {.Name = "Barley", .Age = 4}
      Dim boots As New Pet With {.Name = "Boots", .Age = 1}
      Dim whiskers As New Pet With {.Name = "Whiskers", .Age = 6}
      Dim bluemoon As New Pet With {.Name = "Blue Moon", .Age = 9}
      Dim daisy As New Pet With {.Name = "Daisy", .Age = 3}

      Dim charlotte As New Person With {.Name = "Charlotte", .Pets = New Pet() {barley, boots}}
      Dim arlene As New Person With {.Name = "Arlene", .Pets = New Pet() {whiskers}}
      Dim rui As New Person With {.Name = "Rui", .Pets = New Pet() {bluemoon, daisy}}

      Dim people As New System.Collections.Generic.List(Of Person)(New Person() {charlotte, arlene, rui})

      Dim query = From pers In people
                  Where (Aggregate pt In pers.Pets Into Any(pt.Age > 7))
                  Select pers.Name

      For Each e In query
         Console.WriteLine("Name = {0}", e)
      Next

      Console.WriteLine(vbLf & "Press any key to continue.")
      Console.ReadKey()
	  
   End Sub

   Class Person
      Public Property Name As String
      Public Property Pets As Pet()
   End Class

   Class Pet
      Public Property Name As String
      Public Property Age As Integer
   End Class
   
End Module

Quando il codice sopra in VB viene compilato e eseguito, produce il seguente risultato:

Rui

Press any key to continue.