Opérations de quantificateur dans LINQ
Ces opérateurs renvoient une valeur booléenne, c'est-à-dire True ou False lorsque certains ou tous les éléments d'une séquence satisfont à une condition spécifique.
Opérateur | La description | Syntaxe de l'expression de requête C # | Syntaxe d'expression de requête VB |
---|---|---|---|
Tout | Renvoie une valeur 'True' si tous les éléments d'une séquence satisfont à une condition de prédicat | N'est pas applicable | Agréger… dans… dans tout (…) |
Tout | Détermine en recherchant une séquence que si un élément de la même chose satisfait à une condition spécifiée | N'est pas applicable | Agréger… dans… en n'importe quel () |
Contient | Renvoie une valeur 'True' si trouve qu'un élément spécifique est présent dans une séquence si la séquence ne contient pas cet élément spécifique, la valeur 'false' est renvoyée | N'est pas applicable | N'est pas applicable |
Exemple de méthode d'extension 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
Lorsque le code ci-dessus dans VB est compilé et exécuté, il produit le résultat suivant -
Arlene
Rui
Press any key to continue.
Exemple de Any - Méthode d'extension
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
Lorsque le code ci-dessus dans VB est compilé et exécuté, il produit le résultat suivant -
Rui
Press any key to continue.