Skip to content

Conditional Statements: Select Case vs. If…Else Explained

When you’re writing code, you often need to make decisions based on different situations. These decisions are handled using conditional statements. Conditional statements let your program choose what code to run based on whether certain conditions are true or false. Two of the main ways to do this are: Select Case and If…Else statements. They both help your program decide what to do, but they work a bit differently. This article will explain how each statement works, when to use them, and how to choose the best one for your code.

The If…Else Statement

You’ve probably seen If...Else statements in other programming languages too. They’re like the basic building blocks for making decisions in your code. The main strength of If...Else is that it’s very flexible. It lets you check if something is true or false and then do different things based on the answer.

You can also combine conditions using And and Or.

  • And: Checks if both conditions are true. For example, If age > 18 And hasLicense = True Then (You need to be over 18 and have a license).
  • Or: Checks if at least one of the conditions is true. For example, If score > 90 Or extraCredit = True Then (You can get an A if your score is over 90 or if you did extra credit).

You can even add more options using ElseIf to create more complex sets of rules. Think of it like a choose-your-own-adventure book where the story changes based on your choices.

Pros of If…Else:

  • Flexibility: Handles all sorts of situations, even complicated ones where you need to check many things at once.
  • Suitable for Two-Outcome Scenarios: Perfect when you just need a simple true/false check.

Cons of If…Else:

  • Readability: When you have lots of ElseIf parts, the code can get really long and confusing, like a maze with too many turns.
  • Maintainability: Changing a big If...Else statement can be tricky. It’s easy to make a mistake and mess up how the code works without realizing it.

Example:

Var age As Integer = 25
Var message As String

If age < 18 Then
  message = "Minor"
ElseIf age >= 18 And age < 65 Then
  message = "Adult"
Else
  message = "Senior"
End If

System.DebugLog(message)

The Select Case Statement

The Select Case statement is like a neat and organized way to deal with a list of options for one thing. Imagine you have a variable, like a number grade. Select Case lets you check that grade against different cases (like “A”, “B”, “C”) and then do something specific for each grade.

Example:

Var grade As String = "B"
Var feedback As String

Select Case grade
Case "A"
  feedback = "Excellent"
Case "B"
  feedback = "Good"
Case "C"
  feedback = "Fair"
Case "D", "F"
  feedback = "Needs Improvement"
Else
  feedback = "Invalid Grade" // This is the default case
End Select

System.DebugLog(feedback)

The Else Case In a Select Case statement, acts like a default. If none of the other cases match the value you’re checking, the code inside Else will run.

Using Ranges in Select Case

You can also check for ranges of values using To. For example:

Var score As Integer = 85
Var grade As String

Select Case score
Case 90 To 100
  grade = "A"
Case 80 To 89
  grade = "B"
Case 70 To 79
  grade = "C"
Case Else
  grade = "D" 
End Select

System.DebugLog(grade)

Pros of Select Case:

  • Readability: Makes your code super clear when you’re dealing with multiple options for a single thing.
  • Maintainability: It’s easy to add, remove, or change the different options without messing up the rest of your code.
  • Efficiency: Sometimes, Select Case can be faster than a long If...Else chain.

Cons of Select Case:

  • Only Works with One Thing at a Time: It’s mostly for checking one variable or one simple calculation against a list of possibilities.
  • Less Flexible: It’s not great when you need to check lots of different things at once or do complicated comparisons.
  • Range limitations: If you are comparing ranges of numbers, you have to be careful about the order of your cases.

When to Use Which

  • Use If...Else when:
    • You only need to check if something is true or false.
    • You need to check many different things at the same time using “and” or “or”.
    • You need the most flexibility to handle all sorts of situations.
  • Use Select Case when:
    • You’re checking one thing against a list of possible values.
    • You want your code to be super clear and easy to understand.
    • You want a neat way to organize different options.

Best Practices

  • Use meaningful names: Choose names for your variables that clearly describe what they store (e.g., studentAge instead of just age).
  • Keep it short: Try to keep the code blocks within your If...Else or Select Case statements relatively short and focused. If a block gets too long, consider breaking it down into smaller parts.
  • Comment your code: Add comments to explain what your code is doing, especially in complex If...Else statements. This will help others (and your future self) understand your code.

Conclusion

Both Select Case and If...Else are useful tools for making decisions in your code. Choosing the right one depends on what you need your code to do. If...Else is great for handling complicated situations, while Select Case is perfect for keeping things clear when you have a list of options. Knowing when to use each one will help you write better code that is easier to understand and work with. By thinking about what you need to check and how clear you want your code to be, you can use both of these statements to create awesome apps!

Gabriel is a digital marketing enthusiast who loves coding with Xojo to create cool software tools for any platform. He is always eager to learn and share new ideas!