Over a million developers have joined DZone.

Ternary Operator in VB.NET

DZone's Guide to

Ternary Operator in VB.NET

· ·
Free Resource

We all know about the ternary operator in C#.NET. I am a big fan of the ternary operator and I like to use it instead of using IF..Else. Those who don’t know about ternary operator please go through below link.


Here you can see ternary operator returns one of the two values based on the condition. See following example.

bool value = false;
string output=string.Empty;
//using If condition
if (value==true)
  output ="True";
//using tenary operator
output = value == true ? "True" : "False";

In the above example you can see how we produce same output with the ternary operator without using If..Else statement.

Recently in one of the project I was working with VB.NET language and I was eager to know if there is a ternary operator equivalent there or not. After searching on internet I have found two ways to do it. IF operator which works for VB.NET 2008 and higher version and IIF operator which is there since VB 6.0.

So let’s check same above example with both of this operators. So let’s create a console application which has following code.

Module Module1
  Sub Main()
      Dim value As Boolean = False
      Dim output As String = String.Empty
      ''Output using if else statement
      If value = True Then
          output = "True"
          output = "False"
          Console.WriteLine("Output Using If Loop")
          output = If(value = True, "True", "False")
          Console.WriteLine("Output using If operator")
          output = IIf(value = True, "True", "False")
          Console.WriteLine("Output using IIF Operator")
      End If
  End Sub
End Module

As you can see in the above code I have written all three-way to condition check using If.Else statement and If operator and IIf operator. You can see that both IIF and If operator has three parameter first parameter is the condition which you need to check and then another parameter is true part of you need to put thing which you need as output when condition is ‘true’. Same way third parameter is for the false part where you need to put things which you need as output when condition as ‘false’.

Now let’s run that application and following is the output as expected.

Ternary Operator in Vb.NET

That’s it. You can see all three ways are producing same output. Hope you like it. Stay tuned for more..Till then Happy Programming.


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}