Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
This topic has not yet been rated - Rate this topic

Take While Clause (Visual Basic)

Includes elements in a collection as long as a specified condition is true and bypasses the remaining elements.

Take While expression
expression

Required. An expression that represents a condition to test elements for. The expression must return a Boolean value or a functional equivalent, such as an Integer to be evaluated as a Boolean.

The Take While clause includes elements from the start of a query result until the supplied expression returns false. After the expression returns false, the query will bypass all remaining elements. The expression is ignored for the remaining results.

The Take While clause differs from the Where clause in that the Where clause can be used to include all elements from a query that meet a particular condition. The Take While clause includes elements only until the first time that the condition is not satisfied. The Take While clause is most useful when you are working with an ordered query result.

The following code example uses the Take While clause to retrieve results until the first customer without any orders is found.

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
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft. All rights reserved.