Linq子列表问题
我对Linq非常陌生,在将以下内容转换为Linq表达式时遇到困难:Linq子列表问题,linq,Linq,我对Linq非常陌生,在将以下内容转换为Linq表达式时遇到困难: Dim returnedInstructions As List(Of Integer) = New List(Of Integer) For Each j As Job In response.Jobs For Each i As Instruction In j.Instructions returnedInstructions.Add(
Dim returnedInstructions As List(Of Integer) = New List(Of Integer)
For Each j As Job In response.Jobs
For Each i As Instruction In j.Instructions
returnedInstructions.Add(i.InstructionId)
Next
Next
谢谢你的帮助 我对VB不太熟悉,如果这与C#语法有点混淆,我深表歉意
像这样的方法应该会奏效:
Dim returnedInstructions As New List(Of Integer)
Dim q = From j In response.Jobs, i In j.Instructions Select i.InstructionID
returnedInstructions.AddRange(q)
你想要的
我以前尝试过这个确切的示例,但它返回IEnumberable和not IEnumberable。您确定这正是您所尝试的吗?double from应该转化为对SelectMany的调用(根据David的回答),ToList将以列表而不是IEnumerableThanks的形式返回,您的示例非常有效。我将更深入地了解SelectMany。
Dim returnedInstructions As New List(Of Integer)
Dim q = From j In response.Jobs, i In j.Instructions Select i.InstructionID
returnedInstructions.AddRange(q)
List<int> returnedInstructions = response.Jobs
.SelectMany(j => j.Instructions
.Select(i => i.InstructionID))
.ToList();
Dim returnedInstructions = response.Jobs _
.SelectMany( Function(j) j.Instructions _
.Select( Function(i) i.InstructionID) ) _
.ToList()