Take While 子句 (Visual Basic)

只要指定的条件为 true,就包含集合中相应的元素,并跳过剩余的元素。

Take While expression

部件

术语

定义

expression

必选。 表示元素测试条件的表达式。 该表达式必须返回 Boolean 值或功能上等效的值,例如计算结果为 Boolean 的 Integer。

备注

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

请参见

参考

Select 子句 (Visual Basic)

From 子句 (Visual Basic)

Take 子句 (Visual Basic)

Skip While 子句 (Visual Basic)

Where 子句 (Visual Basic)

概念

Visual Basic 中的 LINQ 简介

其他资源

查询 (Visual Basic)