本文整理汇总了VB.NET中System.Linq.Queryable.SelectMany方法的典型用法代码示例。如果您正苦于以下问题:VB.NET Queryable.SelectMany方法的具体用法?VB.NET Queryable.SelectMany怎么用?VB.NET Queryable.SelectMany使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。
在下文中一共展示了Queryable.SelectMany方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的VB.NET代码示例。
示例1: List
Structure PetOwner
Public Name As String
Public Pets As List(Of Pet)
End Structure
Structure Pet
Public Name As String
Public Breed As String
End Structure
Shared Sub SelectManyEx3()
Dim petOwners() As PetOwner = _
{New PetOwner With {.Name = "Higa", _
.Pets = New List(Of Pet)(New Pet() { _
New Pet With {.Name = "Scruffy", .Breed = "Poodle"}, _
New Pet With {.Name = "Sam", .Breed = "Hound"}})}, _
New PetOwner With {.Name = "Ashkenazi", _
.Pets = New List(Of Pet)(New Pet() { _
New Pet With {.Name = "Walker", .Breed = "Collie"}, _
New Pet With {.Name = "Sugar", .Breed = "Poodle"}})}, _
New PetOwner With {.Name = "Price", _
.Pets = New List(Of Pet)(New Pet() { _
New Pet With {.Name = "Scratches", .Breed = "Dachshund"}, _
New Pet With {.Name = "Diesel", .Breed = "Collie"}})}, _
New PetOwner With {.Name = "Hines", _
.Pets = New List(Of Pet)(New Pet() { _
New Pet With {.Name = "Dusty", .Breed = "Collie"}})} _
}
' This query demonstrates how to obtain a sequence of
' the names of all the pets whose breed is "Collie", while
' keeping an association with the owner that owns the pet.
Dim query = petOwners.AsQueryable() _
.SelectMany(Function(owner) owner.Pets, _
Function(owner, pet) New With {owner, pet}) _
.Where(Function(ownerAndPet) ownerAndPet.pet.Breed = "Collie") _
.Select(Function(ownerAndPet) New With { _
.Owner = ownerAndPet.owner.Name, _
.Pet = ownerAndPet.pet.Name})
Dim output As New System.Text.StringBuilder
For Each obj In query
output.AppendLine(String.Format("Owner={0}, Pet={1}", obj.Owner, obj.Pet))
Next
' Display the output.
MsgBox(output.ToString())
End Sub
开发者ID:VB.NET开发者,项目名称:System.Linq,代码行数:48,代码来源:Queryable.SelectMany 输出:
Owner=Ashkenazi, Pet=Walker
Owner=Price, Pet=Diesel
Owner=Hines, Pet=Dusty
示例2: Pets
Structure PetOwner
Public Name As String
Public Pets() As String
End Structure
Shared Sub SelectManyEx2()
Dim petOwners() As PetOwner = _
{New PetOwner With _
{.Name = "Higa, Sidney", .Pets = New String() {"Scruffy", "Sam"}}, _
New PetOwner With _
{.Name = "Ashkenazi, Ronen", .Pets = New String() {"Walker", "Sugar"}}, _
New PetOwner With _
{.Name = "Price, Vernette", .Pets = New String() {"Scratches", "Diesel"}}, _
New PetOwner With _
{.Name = "Hines, Patrick", .Pets = New String() {"Dusty"}}}
' For each PetOwner element in the source array,
' project a sequence of strings where each string
' consists of the index of the PetOwner element in the
' source array and the name of each pet in PetOwner.Pets.
Dim query As IEnumerable(Of String) = _
petOwners.AsQueryable() _
.SelectMany(Function(petOwner, index) petOwner.Pets.Select(Function(pet) index.ToString() + pet))
Dim output As New System.Text.StringBuilder
For Each pet As String In query
output.AppendLine(pet)
Next
' Display the output.
MsgBox(output.ToString())
End Sub
开发者ID:VB.NET开发者,项目名称:System.Linq,代码行数:32,代码来源:Queryable.SelectMany 输出:
0Scruffy
0Sam
1Walker
1Sugar
2Scratches
2Diesel
3Dusty
示例3: Pets
Structure PetOwner
Public Name As String
Public Pets() As String
End Structure
Shared Sub SelectManyEx1()
Dim petOwners() As PetOwner = _
{New PetOwner With _
{.Name = "Higa, Sidney", .Pets = New String() {"Scruffy", "Sam"}}, _
New PetOwner With _
{.Name = "Ashkenazi, Ronen", .Pets = New String() {"Walker", "Sugar"}}, _
New PetOwner With _
{.Name = "Price, Vernette", .Pets = New String() {"Scratches", "Diesel"}}}
' Query using SelectMany().
Dim query1 As IEnumerable(Of String) = _
petOwners.AsQueryable().SelectMany(Function(petOwner) petOwner.Pets)
Dim output As New System.Text.StringBuilder("Using SelectMany():" & vbCrLf)
' Only one foreach loop is required to iterate through
' the results because it is a one-dimensional collection.
For Each pet As String In query1
output.AppendLine(pet)
Next
' This code shows how to use Select() instead of SelectMany().
Dim query2 As IEnumerable(Of String()) = _
petOwners.AsQueryable().Select(Function(petOwner) petOwner.Pets)
output.AppendLine(vbCrLf & "Using Select():")
' Notice that two foreach loops are required to iterate through
' the results because the query returns a collection of arrays.
For Each petArray() As String In query2
For Each pet As String In petArray
output.AppendLine(pet)
Next
Next
' Display the output.
MsgBox(output.ToString())
End Sub
开发者ID:VB.NET开发者,项目名称:System.Linq,代码行数:41,代码来源:Queryable.SelectMany 输出:
Using SelectMany():
Scruffy
Sam
Walker
Sugar
Scratches
Diesel
Using Select():
Scruffy
Sam
Walker
Sugar
Scratches
Diesel
注:本文中的System.Linq.Queryable.SelectMany方法示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论