Ternary operator in VB.NET
We all know about Ternary operator in C#.NET. I am a big fan of 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;
//using If condition
//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.
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")
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.
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.