Take While 子句 (Visual Basic)
更新:2007 年 11 月
一直包含集合中的項目直到指定的條件不是 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