Ternary operators don’t work with nullable value types?
I’ve got the following situation:
DateTime? myDt = (DateTime) row["Column"];
This fails when retrieving a DBNull value, so we check for that:
DateTime? myDT = (row["Column"] == DBNull.Value) ? null : (DateTime) row["Column"];
This won’t compile, however doing:
if(row["Column"] == DBNull.Value)
myDT = null;
myDT = row["Column"];
works fine, now, I realise I can simplify that statement, but, for the purposes of this post, it is a closer match to the ternary operator.
Why won’t the ternary op work with the value type? It works perfectly with a string…