Take While 子句 (Visual Basic)

只要指定条件是 true 并绕过剩余元素,就包括集合中的元素。

语法

Take While expression  

部件

术语 定义
expression 必填。 一个表达式,表示要测试元素的条件。 表达式必须返回值 Boolean 或函数等效项,例如 Integer 要计算为值 Boolean

注解

Take While 子句包括查询结果开头到提供 expression 返回 false的元素。 expression返回false后,查询将绕过所有剩余元素。 对于剩余的结果,将忽略此项 expression

Take While 子句不同于 Where 该子句中的子句,该 Where 子句可用于包含满足特定条件的查询中的所有元素。 该 Take While 子句仅包含元素,直到第一次满足条件。 使用有序查询结果时,该 Take While 子句最有用。

示例:

下面的代码示例使用 Take While 子句检索结果,直到找到第一个客户,没有任何订单。

Public Sub TakeWhileSample()
    Dim customers = GetCustomerList()

    ' Return customers until the first customer with no orders is found.
    Dim customersWithOrders = From cust In customers
                              Order By cust.Orders.Count Descending
                              Take While HasOrders(cust)

    For Each cust In customersWithOrders
        Console.WriteLine(cust.CompanyName & " (" & cust.Orders.Length & ")")
    Next
End Sub

Public Function HasOrders(ByVal cust As Customer) As Boolean
    If cust.Orders.Length > 0 Then Return True

    Return False
End Function

另请参阅