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