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