Skip to content
Visual Basic

LINQクエリ式

VB LINQ構文でデータをクエリ。

#linq#query

Code

vb
Dim people = New List(Of Person) From {
    New Person With {.Name = "Alice", .Age = 30, .City = "NYC"},
    New Person With {.Name = "Bob", .Age = 25, .City = "LA"},
    New Person With {.Name = "Carol", .Age = 35, .City = "NYC"}
}

' Query syntax
Dim nycResidents = From p In people
                   Where p.City = "NYC"
                   Order By p.Age Descending
                   Select p.Name, p.Age

For Each r In nycResidents
    Console.WriteLine($"{r.Name}: {r.Age}")
Next

' Aggregates
Dim avgAge = people.Average(Function(p) p.Age)
Dim grouped = From p In people
              Group p By p.City Into Group
              Select City, AvgAge = Group.Average(Function(p) p.Age)

' Method syntax
Dim names = people.Where(Function(p) p.Age > 25).
                   Select(Function(p) p.Name).
                   ToList()