Skip to main content

LINQ To DataSet Samples - Quantifiers


Any - Simple

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

Public Sub DataSetLinq67()

    Dim words2 = TestDS.Tables("Words2").AsEnumerable()
    Dim iAfterE = words2.Any(Function(w) w.Field(Of String)("word").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': False


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 DataSetLinq69()

    Dim products = TestDS.Tables("Products").AsEnumerable()

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

    For Each pg In productGroups
        Console.WriteLine(pg.Category)
        For Each p In pg.ProductGroup
            Console.WriteLine(vbTab & p("ProductName"))
        Next
    Next
End Sub


Result:
Condiments
    Aniseed Syrup
    Chef Anton's Cajun Seasoning
    Chef Anton's Gumbo Mix
    Grandma's Boysenberry Spread
    Northwoods Cranberry Sauce
    Genen Shouyu
    Gula Malacca
    Sirop d'érable
    Vegie-spread
    Louisiana Fiery Hot Pepper Sauce
    Louisiana Hot Spiced Okra
    Original Frankfurter grüne Soße
Meat/Poultry
    Mishi Kobe Niku
    Alice Mutton
    Thüringer Rostbratwurst
    Perth Pasties
    Tourtière
    Pâté chinois
Dairy Products
    Queso Cabrales
    Queso Manchego La Pastora
    Gorgonzola Telino
    Mascarpone Fabioli
    Geitost
    Raclette Courdavault
    Camembert Pierrot
    Gudbrandsdalsost
    Flotemysost
    Mozzarella di Giovanni


All - Simple

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

Public Sub DataSetLinq70()

    Dim numbers = TestDS.Tables("Numbers").AsEnumerable()

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

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


Result:
The list contains only odd numbers: False


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 DataSetLinq72()

    Dim products = TestDS.Tables("Products").AsEnumerable()

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

    For Each pg In productGroups
        Console.WriteLine(pg.Category)
        For Each p In pg.ProductGroup
            Console.WriteLine(vbTab & p("ProductName"))
        Next
    Next
End Sub


Result:
Beverages
    Chai
    Chang
    Guaraná Fantástica
    Sasquatch Ale
    Steeleye Stout
    Côte de Blaye
    Chartreuse verte
    Ipoh Coffee
    Laughing Lumberjack Lager
    Outback Lager
    Rhönbräu Klosterbier
    Lakkalikööri
Produce
    Uncle Bob's Organic Dried Pears
    Tofu
    Rössle Sauerkraut
    Manjimup Dried Apples
    Longlife Tofu
Seafood
    Ikura
    Konbu
    Carnarvon Tigers
    Nord-Ost Matjeshering
    Inlagd Sill
    Gravad lax
    Boston Crab Meat
    Jack's New England Clam Chowder
    Rogede sild
    Spegesild
    Escargots de Bourgogne
    Röd Kaviar
Confections
    Pavlova
    Teatime Chocolate Biscuits
    Sir Rodney's Marmalade
    Sir Rodney's Scones
    NuNuCa Nuß-Nougat-Creme
    Gumbär Gummibärchen
    Schoggi Schokolade
    Zaanse koeken
    Chocolade
    Maxilaku
    Valkoinen suklaa
    Tarte au sucre
    Scottish Longbreads
Grains/Cereals
    Gustaf's Knäckebröd
    Tunnbröd
    Singaporean Hokkien Fried Mee
    Filo Mix
    Gnocchi di nonna Alice
    Ravioli Angelo
    Wimmers gute Semmelknödel


Contains

 

Public Sub DataSetLinq102()

    Dim numbers = TestDS.Tables("Numbers")

    'Find DataRow with number == 3
    Dim rowToFind As DataRow = Nothing
    For Each r As DataRow In numbers.Rows
        If r("number") = 3 Then
            rowToFind = r
            Exit For
        End If
    Next

    Dim foundRow = numbers.AsEnumerable().Contains(rowToFind)

    Console.WriteLine("Found Row: {0}", foundRow)
End Sub


Result:
Found Row: True