Choose Function
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

Choose Function

Selects and returns a value from a list of arguments.

Public Function Choose( _
   ByVal Index As Double, _ 
   ByVal ParamArray Choice() As Object _
) As Object


Required. Double. Numeric expression that results in a value between 1 and the number of elements passed in the Choice argument.
Required. Object parameter array. You can supply either a single variable or an expression that evaluates to the Object data type, to a list of Object variables or expressions separated by commas, or to a single-dimensional array of Object elements.


Exception type Error number Condition
ArgumentException 5 Rank of Choice() <> 1.


The Choose function returns a member of the list passed in Choice(), based on the value of Index. The first member of the list is selected when Index is 1. The last member of the list is selected when Index is UBound(Choice()). If Index is outside these limits, Choose returns Nothing.

If Index is not a whole number, it is rounded to the nearest whole number before being evaluated.

You can use Choose to look up a value in a list of possibilities.

Note   The expressions in the argument list can include function calls. As part of preparing the argument list for the call to Choose, the Visual Basic compiler calls every function in every expression. This means that you cannot rely on a particular function not being called if a different expression is selected by Index.


This example uses the Choose function to display a name in response to an index passed into the procedure in the Ind parameter.

Function GetChoice(Ind As Integer) As String
   GetChoice = CStr(Choose(Ind, "Speedy", "United", "Federal"))
End Function


Namespace: Microsoft.VisualBasic

Module: Interaction

Assembly: Microsoft Visual Basic .NET Runtime (in Microsoft.VisualBasic.dll)

See Also

IIf Function | Select...Case Statements | Switch Function

© 2016 Microsoft