If you know that a value is of a specific type, you can explicitly cast it to that type in order to use it in a context where that type is needed.
object value = -1;
int number = (int) value;
Console.WriteLine(Math.Abs(number));
If we tried passing value
directly to Math.Abs()
, we would get a compile-time exception because Math.Abs()
doesn't have an overload that takes an object
as a parameter.
If value
could not be cast to an int
, then the second line in this example would throw an InvalidCastException