用Convert类实现数据类型转换

Convert类用于将一个基本数据类型转换为另一个基本数据类型,返回与指定类型的值等效的类型;受支持的基类型是Boolean、Char、SByte、Byte、Int16、Int32、Int64、UInt16、UInt32、UInt64、Single、Double、Decimal、DateTime和String。可根据不同的需要使用Convert类的公共方法实现不同数据类型的转换。所执行的实际转换操作分为以下3类:
(1)从某类型到它本身的转换只返回该类型,不实际执行任何转换。
(2)无法产生有意义的结果的转换引发InvalidCastException,不实际执行任何转换。下列转换会引发异常:从Char转换为Boolean、Single、Double、Decimal或DateTime,以及从这些类型转换为Char,还有从DateTime转换为除String之外的任何类型,以及从任何类型(String除外)转换为DateTime。
(3)任何基类型(上面描述的基类型除外)都可以与任何其他基类型进行相互转换。

Convert类常用类型转换方法及说明:

方法名称 说明
FromBase64CharArray 将Unicode字符数组的子集(将二进制数据编码为base 64数字)转换成等效的8位无符号整数数组。参数指定输入数组的子集以及要转换的元素数
FromBase64String 将指定的String(将二进制数据编码为base 64数字)转换成等效的8位无符号整数数组
GetHashCode 用作特定类型的哈希函数。GetHashCode适合在哈希算法和数据结构(如哈希表)中使用
ToBase64CharArray 将8位无符号整数数组的子集转换为用Base 64数字编码的Unicode字符数组的等价子集
ToBase64String 将8位无符号整数数组的值转换为它的等效String表示形式(使用base 64数字编码)
ToBoolean 将指定的值转换为等效的布尔值
ToByte 将指定的值转换为8位无符号整数
ToChar 将指定的值转换为Unicode字符
ToDateTime 将指定的值转换为DateTime
ToDecimal 将指定值转换为Decimal数字
ToDouble 将指定的值转换为双精度浮点数字
ToInt16 将指定的值转换为16位有符号整数
ToInt32 将指定的值转换为32位有符号整数
ToInt64 将指定的值转换为64位有符号整数
ToSByte 将指定的值转换为8位有符号整数
ToSingle 将指定的值转换为单精度浮点数字
ToString 将指定值转换为其等效的String表示形式
ToUInt16 将指定的值转换为16位无符号整数
ToUInt32 将指定的值转换为32位无符号整数
ToUInt64 将指定的值转换为64位无符号整数

那么,类型.Parse与Convert有什么区别呢?他们的区别在于Parse的参数只能是字符串类型(string),只能把字符串类型转成其它类型,而Convert可以某一对象的值转换成很多类型。
如:
bool Bl = = true;
int a = Convert.ToInt16(Bl); //只能这样转换,否则通不过。

提示:用Convert类型转换时也要注意数据表达式的有效性,并不是任意类型之间都可以转换。

你可能感兴趣的:(convert)