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