Possible Duplicate:
Type result with Ternary operator in C#
I ran into this scenario, and there doesn’t seem to be a natural way to return a nullable int. The code below gives compilation error because the ternary operator doesn’t like null.
public int? userId
{
get
{
int rv;
return int.TryParse(userIdString, out rv) ? rv : null;
}
}
So you (or just me) really have to go all the way and spell it all out:
public int? userId
{
get
{
int id;
if(int.TryParse(userIdString, out id)){
return id;
}
return null;
}
}
EDIT: Is there a more natural way of instantiating a nullable, to make the ternary operator work?
1 Answer