Skip to main content

LINQ Query Samples - Quantifiers


Any - Simple

This sample uses Any to determine if any of the words in the array contain the substring 'ei'.

Public Sub Linq67()

    Dim words() = {"believe", "relief", "receipt", "field"}

    Dim iAfterE = words.Any(Function(w) w.Contains("ei"))

    Console.WriteLine("There is a word that contains in the list that contains 'ei': {0}", iAfterE)
End Sub


Result:
There is a word that contains in the list that contains 'ei': True


Any - Grouped

This sample uses Any to return a grouped a list of products only for categories that have at least one product that is out of stock.

Public Sub Linq69()
    Dim products = GetProductList()

    Dim productGroups = From p In products _
            Group p By p.Category Into Group _
            Where Group.Any(Function(p) p.UnitsInStock = 0) _
            Select Category, ProductGroup = Group

    ObjectDumper.Write(productGroups, 1)
End Sub


Result:
Category=Condiments     ProductGroup=...
  ProductGroup: ProductID=3       ProductName=Aniseed Syrup       Category=Condiments     UnitPrice=10    UnitsInStock=13
  ProductGroup: ProductID=4       ProductName=Chef Anton's Cajun Seasoning        Category=Condiments     UnitPrice=22    UnitsInStock=53
  ProductGroup: ProductID=5       ProductName=Chef Anton's Gumbo Mix      Category=Condiments     UnitPrice=21.35         UnitsInStock=0
  ProductGroup: ProductID=6       ProductName=Grandma's Boysenberry Spread        Category=Condiments     UnitPrice=25    UnitsInStock=120
  ProductGroup: ProductID=8       ProductName=Northwoods Cranberry Sauce  Category=Condiments     UnitPrice=40    UnitsInStock=6
  ProductGroup: ProductID=15      ProductName=Genen Shouyu        Category=Condiments     UnitPrice=15.5  UnitsInStock=39
  ProductGroup: ProductID=44      ProductName=Gula Malacca        Category=Condiments     UnitPrice=19.45         UnitsInStock=27
  ProductGroup: ProductID=61      ProductName=Sirop d'érable      Category=Condiments     UnitPrice=28.5  UnitsInStock=113
  ProductGroup: ProductID=63      ProductName=Vegie-spread        Category=Condiments     UnitPrice=43.9  UnitsInStock=24
  ProductGroup: ProductID=65      ProductName=Louisiana Fiery Hot Pepper Sauce    Category=Condiments     UnitPrice=21.05         UnitsInStock=76
  ProductGroup: ProductID=66      ProductName=Louisiana Hot Spiced Okra   Category=Condiments     UnitPrice=17    UnitsInStock=4
  ProductGroup: ProductID=77      ProductName=Original Frankfurter grüne Soße     Category=Condiments     UnitPrice=13    UnitsInStock=32
Category=Meat/Poultry   ProductGroup=...
  ProductGroup: ProductID=9       ProductName=Mishi Kobe Niku     Category=Meat/Poultry   UnitPrice=97    UnitsInStock=29
  ProductGroup: ProductID=17      ProductName=Alice Mutton        Category=Meat/Poultry   UnitPrice=39    UnitsInStock=0
  ProductGroup: ProductID=29      ProductName=Thüringer Rostbratwurst     Category=Meat/Poultry   UnitPrice=123.79        UnitsInStock=0
  ProductGroup: ProductID=53      ProductName=Perth Pasties       Category=Meat/Poultry   UnitPrice=32.8  UnitsInStock=0
  ProductGroup: ProductID=54      ProductName=Tourtière   Category=Meat/Poultry   UnitPrice=7.45  UnitsInStock=21
  ProductGroup: ProductID=55      ProductName=Pâté chinois        Category=Meat/Poultry   UnitPrice=24    UnitsInStock=115
Category=Dairy Products         ProductGroup=...
  ProductGroup: ProductID=11      ProductName=Queso Cabrales      Category=Dairy Products         UnitPrice=21    UnitsInStock=22
  ProductGroup: ProductID=12      ProductName=Queso Manchego La Pastora   Category=Dairy Products         UnitPrice=38    UnitsInStock=86
  ProductGroup: ProductID=31      ProductName=Gorgonzola Telino   Category=Dairy Products         UnitPrice=12.5  UnitsInStock=0
  ProductGroup: ProductID=32      ProductName=Mascarpone Fabioli  Category=Dairy Products         UnitPrice=32    UnitsInStock=9
  ProductGroup: ProductID=33      ProductName=Geitost     Category=Dairy Products         UnitPrice=2.5   UnitsInStock=112
  ProductGroup: ProductID=59      ProductName=Raclette Courdavault        Category=Dairy Products         UnitPrice=55    UnitsInStock=79
  ProductGroup: ProductID=60      ProductName=Camembert Pierrot   Category=Dairy Products         UnitPrice=34    UnitsInStock=19
  ProductGroup: ProductID=69      ProductName=Gudbrandsdalsost    Category=Dairy Products         UnitPrice=36    UnitsInStock=26
  ProductGroup: ProductID=71      ProductName=Flotemysost         Category=Dairy Products         UnitPrice=21.5  UnitsInStock=26
  ProductGroup: ProductID=72      ProductName=Mozzarella di Giovanni      Category=Dairy Products         UnitPrice=34.8  UnitsInStock=14


All - Simple

This sample uses All to determine whether an array contains only odd numbers.

Public Sub Linq70()
    Dim numbers() = {1, 11, 3, 19, 41, 65, 19}

    Dim onlyOdd = numbers.All(Function(n) n Mod 2 = 1)

    Console.WriteLine("The list contains only odd numbers: {0}", onlyOdd)
End Sub


Result:
The list contains only odd numbers: True


All - Grouped

This sample uses All to return a grouped a list of products only for categories that have all of their products in stock.

Public Sub Linq72()

    Dim products = GetProductList()

    Dim productGroups = From p In products _
         Group p By p.Category Into Group _
         Where (Group.All(Function(p) p.UnitsInStock > 0)) _
         Select Category, ProductGroup = Group

    ObjectDumper.Write(productGroups, 1)
End Sub


Result:
Category=Beverages      ProductGroup=...
  ProductGroup: ProductID=1       ProductName=Chai        Category=Beverages      UnitPrice=18    UnitsInStock=39
  ProductGroup: ProductID=2       ProductName=Chang       Category=Beverages      UnitPrice=19    UnitsInStock=17
  ProductGroup: ProductID=24      ProductName=Guaraná Fantástica  Category=Beverages      UnitPrice=4.5   UnitsInStock=20
  ProductGroup: ProductID=34      ProductName=Sasquatch Ale       Category=Beverages      UnitPrice=14    UnitsInStock=111
  ProductGroup: ProductID=35      ProductName=Steeleye Stout      Category=Beverages      UnitPrice=18    UnitsInStock=20
  ProductGroup: ProductID=38      ProductName=Côte de Blaye       Category=Beverages      UnitPrice=263.5         UnitsInStock=17
  ProductGroup: ProductID=39      ProductName=Chartreuse verte    Category=Beverages      UnitPrice=18    UnitsInStock=69
  ProductGroup: ProductID=43      ProductName=Ipoh Coffee         Category=Beverages      UnitPrice=46    UnitsInStock=17
  ProductGroup: ProductID=67      ProductName=Laughing Lumberjack Lager   Category=Beverages      UnitPrice=14    UnitsInStock=52
  ProductGroup: ProductID=70      ProductName=Outback Lager       Category=Beverages      UnitPrice=15    UnitsInStock=15
  ProductGroup: ProductID=75      ProductName=Rhönbräu Klosterbier        Category=Beverages      UnitPrice=7.75  UnitsInStock=125
  ProductGroup: ProductID=76      ProductName=Lakkalikööri        Category=Beverages      UnitPrice=18    UnitsInStock=57
Category=Produce        ProductGroup=...
  ProductGroup: ProductID=7       ProductName=Uncle Bob's Organic Dried Pears     Category=Produce        UnitPrice=30    UnitsInStock=15
  ProductGroup: ProductID=14      ProductName=Tofu        Category=Produce        UnitPrice=23.25         UnitsInStock=35
  ProductGroup: ProductID=28      ProductName=Rössle Sauerkraut   Category=Produce        UnitPrice=45.6  UnitsInStock=26
  ProductGroup: ProductID=51      ProductName=Manjimup Dried Apples       Category=Produce        UnitPrice=53    UnitsInStock=20
  ProductGroup: ProductID=74      ProductName=Longlife Tofu       Category=Produce        UnitPrice=10    UnitsInStock=4
Category=Seafood        ProductGroup=...
  ProductGroup: ProductID=10      ProductName=Ikura       Category=Seafood        UnitPrice=31    UnitsInStock=31
  ProductGroup: ProductID=13      ProductName=Konbu       Category=Seafood        UnitPrice=6     UnitsInStock=24
  ProductGroup: ProductID=18      ProductName=Carnarvon Tigers    Category=Seafood        UnitPrice=62.5  UnitsInStock=42
  ProductGroup: ProductID=30      ProductName=Nord-Ost Matjeshering       Category=Seafood        UnitPrice=25.89         UnitsInStock=10
  ProductGroup: ProductID=36      ProductName=Inlagd Sill         Category=Seafood        UnitPrice=19    UnitsInStock=112
  ProductGroup: ProductID=37      ProductName=Gravad lax  Category=Seafood        UnitPrice=26    UnitsInStock=11
  ProductGroup: ProductID=40      ProductName=Boston Crab Meat    Category=Seafood        UnitPrice=18.4  UnitsInStock=123
  ProductGroup: ProductID=41      ProductName=Jack's New England Clam Chowder     Category=Seafood        UnitPrice=9.65  UnitsInStock=85
  ProductGroup: ProductID=45      ProductName=Rogede sild         Category=Seafood        UnitPrice=9.5   UnitsInStock=5
  ProductGroup: ProductID=46      ProductName=Spegesild   Category=Seafood        UnitPrice=12    UnitsInStock=95
  ProductGroup: ProductID=58      ProductName=Escargots de Bourgogne      Category=Seafood        UnitPrice=13.25         UnitsInStock=62
  ProductGroup: ProductID=73      ProductName=Röd Kaviar  Category=Seafood        UnitPrice=15    UnitsInStock=101
Category=Confections    ProductGroup=...
  ProductGroup: ProductID=16      ProductName=Pavlova     Category=Confections    UnitPrice=17.45         UnitsInStock=29
  ProductGroup: ProductID=19      ProductName=Teatime Chocolate Biscuits  Category=Confections    UnitPrice=9.2   UnitsInStock=25
  ProductGroup: ProductID=20      ProductName=Sir Rodney's Marmalade      Category=Confections    UnitPrice=81    UnitsInStock=40
  ProductGroup: ProductID=21      ProductName=Sir Rodney's Scones         Category=Confections    UnitPrice=10    UnitsInStock=3
  ProductGroup: ProductID=25      ProductName=NuNuCa Nuß-Nougat-Creme     Category=Confections    UnitPrice=14    UnitsInStock=76
  ProductGroup: ProductID=26      ProductName=Gumbär Gummibärchen         Category=Confections    UnitPrice=31.23         UnitsInStock=15
  ProductGroup: ProductID=27      ProductName=Schoggi Schokolade  Category=Confections    UnitPrice=43.9  UnitsInStock=49
  ProductGroup: ProductID=47      ProductName=Zaanse koeken       Category=Confections    UnitPrice=9.5   UnitsInStock=36
  ProductGroup: ProductID=48      ProductName=Chocolade   Category=Confections    UnitPrice=12.75         UnitsInStock=15
  ProductGroup: ProductID=49      ProductName=Maxilaku    Category=Confections    UnitPrice=20    UnitsInStock=10
  ProductGroup: ProductID=50      ProductName=Valkoinen suklaa    Category=Confections    UnitPrice=16.25         UnitsInStock=65
  ProductGroup: ProductID=62      ProductName=Tarte au sucre      Category=Confections    UnitPrice=49.3  UnitsInStock=17
  ProductGroup: ProductID=68      ProductName=Scottish Longbreads         Category=Confections    UnitPrice=12.5  UnitsInStock=6
Category=Grains/Cereals         ProductGroup=...
  ProductGroup: ProductID=22      ProductName=Gustaf's Knäckebröd         Category=Grains/Cereals         UnitPrice=21    UnitsInStock=104
  ProductGroup: ProductID=23      ProductName=Tunnbröd    Category=Grains/Cereals         UnitPrice=9     UnitsInStock=61
  ProductGroup: ProductID=42      ProductName=Singaporean Hokkien Fried Mee       Category=Grains/Cereals         UnitPrice=14    UnitsInStock=26
  ProductGroup: ProductID=52      ProductName=Filo Mix    Category=Grains/Cereals         UnitPrice=7     UnitsInStock=38
  ProductGroup: ProductID=56      ProductName=Gnocchi di nonna Alice      Category=Grains/Cereals         UnitPrice=38    UnitsInStock=21
  ProductGroup: ProductID=57      ProductName=Ravioli Angelo      Category=Grains/Cereals         UnitPrice=19.5  UnitsInStock=36
  ProductGroup: ProductID=64      ProductName=Wimmers gute Semmelknödel   Category=Grains/Cereals         UnitPrice=33.25         UnitsInStock=22