public static void Main()
object[] values = { true, -12, 163, 935, 'x', new DateTime(2009, 5, 12),
"104", "103.0", "-1", "1.00e2", "One", 1.00e2};
foreach (object value in values)
ushort result = value.ToUShort();
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
value.GetType().Name, value,
result.GetType().Name, result);
catch (OverflowException)
Console.WriteLine("The {0} value {1} is outside the range of the Int16 type.",
value.GetType().Name, value);
Console.WriteLine("The {0} value {1} is not in a recognizable format.",
value.GetType().Name, value);
catch (InvalidCastException)
Console.WriteLine("No conversion to an Int16 exists for the {0} value {1}.",
value.GetType().Name, value);