Avatar of maqskywalker
 asked on

Using Or operator in Select Case Statement in Visual Basic

I'm learning to use the Select Case statement in vb.

Select...Case Statement

I have a ASP.NET WebForms page using VB.

The example works fine.

When I enter a name from one of the names in the button click event.
The message is displayed on the label.

This is my code.


<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Example1_SelectCase.aspx.vb" Inherits="Example1_SelectCase" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <form id="form1" runat="server">
            <td><asp:Label ID="lblCaption" runat="server" Text="Enter FirstName:"></asp:Label></td>
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                <asp:Button ID="Button1" runat="server" Text="Button" />
                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></td>

Open in new window


Partial Class Example1_SelectCase
    Inherits System.Web.UI.Page

    ' Select Case Statement

    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim varFirstName As String

        ' get textbox value and store in variable
        varFirstName = TextBox1.Text

        Select Case varFirstName
            Case "Bob"
                Label1.Text = "Hi Bob"
            Case "Beth"
                Label1.Text = "Hi Beth"
            Case "John"
                Label1.Text = "Hi John"
            Case "Billy", "Willy"
                Label1.Text = "Hi Billy or Willy"
            Case "Joe"
                Label1.Text = "Hi Joe"
            Case "Susan"
                Label1.Text = "Hi Susan"
        End Select

    End Sub
End Class

Open in new window

In one of the case statements I have this:

            Case "Billy", "Willy"
                Label1.Text = "Hi Billy or Willy"

In this article

It states the following:

A Case statement with multiple clauses can exhibit behavior known as short-circuiting. Visual Basic evaluates the clauses from left to right, and if one produces a match with testexpression, the remaining clauses are not evaluated. Short-circuiting can improve performance, but it can produce unexpected results if you are expecting every expression in expressionlist to be evaluated.

Is it better to use an Or operator?
How do I revise this case statement to use the Or operator instead?

            Case "Billy", "Willy"
                Label1.Text = "Hi Billy or Willy"

So if I type either Billy OR Willy then display "Hi Billy or Willy" on the label.
ASP.NETVisual Basic.NET

Avatar of undefined
Last Comment
Éric Moreau

8/22/2022 - Mon
Éric Moreau

View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy