If you aren't sure whether a value is of the type you think it is, you can safely cast it using the as
operator. If the value is not of that type, the resulting value will be null
.
object value = "-1";
int? number = value as int?;
if(number != null)
{
Console.WriteLine(Math.Abs(number.Value));
}
Note that null
values have no type, so the as
keyword will safely yield null
when casting any null
value.