Name
Convert
Synopsis
This class provides static helper methods
that convert base data types to other
base data types. You can also convert objects to base data types,
provided they implement the IConvertible
interface
and cast objects to different types with the ChangeType( )
method.
CLR languages typically allow widening conversions (e.g.,
Int16
to Int32
) through direct
assignment. Narrowing conversions require the
Convert
class or explicit casting. The
Convert
class does not generate an exception when
you lose numeric precision, but it does throw an overflow exception
if the source value is too large for the destination data type.
Note that implicit and explicit conversions can return different
results than the Convert
class. Namely, they
truncate significant digits in a narrowing conversion (for example,
changing 32.6 to the integer 32), while the
Convert
class rounds the number automatically
(converting 32.6 to 33). The Convert
class uses
banker’s rounding, meaning that the fraction 1/2 is
rounded down for even numbers (so 4.5 becomes 4) and rounded up for
odd numbers (so 5.5 becomes 6). This helps combat rounding bias.
The ToString( )
methods are functionally
equivalent to the Object.ToString( )
method of the
corresponding base data types. The conversions from strings to
numeric or date data are functionally equivalent to the
Parse( )
method of the appropriate data type
(e.g., Int32.Parse( )
). For string conversions,
you can also supply an IFormatProvider
object to specify culture-specific ...
Get C# in a Nutshell, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.