# Saturday, September 30, 2006
« Remembering your age | Main | Useful Visual Studio Plugin »

Sean Ronan (from Activepixels.co.uk) was asking me the other day why he was receiving a “Cannot convert ‘’ to DateTime” when writing:

IIf(String.IsNullOrEmpty(DateOfBirth.Text), Nothing, CDate(DateOfBirth.Text))

Thanks to Doug Setzer from 27Seconds in pointing him in the right direction, unlike C#’s ability to write:

(TrueFalseStatement ? TruePart : FalsePart)

VB’s IIf is a function not a statement so unlike C#’s equivielent which is run un-evaluated, VB’s IIf function evaluates both sides of the statement regardless of whether the statement is true of false.

Yet another reason to use C# IMNSHO :-)