Take While 句 (Visual Basic)
指定された条件が true である限り、コレクションの要素を含むようにし、残りの要素をバイパスします。
Take While expression
指定項目
語句 |
定義 |
expression |
必ず指定します。要素をテストするための条件を表す式。この式は、Boolean 値、または Boolean として評価される Integer などの機能的に同等な値を返す必要があります。 |
解説
Take While 句は、指定した expression が false を返すまで、クエリ結果の先頭から要素を取得します。expression が false を返した後は、残っているすべての要素をバイパスします。残りの結果では、expression は無視されます。
Where 句の場合、特定の条件を満たすすべての要素をクエリから取得できるという点で、Take While 句は 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