(1)类型的转换运算符
转换运算符分为两类:隐式转换和显式转换(强制转换)。基元类型(编译器直接支持的数据类型,包括sbyte、byte、short、 ushort、int、uint、long、ulong、char、float、double、bool、decimal、object、string)普遍都提供了转换运算符。
int i = 0;
float j = 0;
j = i; //int到float(Single)存在一个隐式转换
i = (int)j; //float(Single)到int存在,而且必须存在一个显式转换
(2)使用类型内置的Parse、TryParse,或者如ToString、ToDouble、ToDateTime等方法
(3)使用帮助类提供的方法
可以使用如System.Convert类、System.BitConverter类来进行类型的转换。
(4)使用CLR支持的转型
即上溯转型和下溯转型,实际上就是基类和子类之间的相互转换。
Animal animal;
Dog dog = new Dog();
animal = dog; //隐式转换,因为Dog就是Animal
//dog = animal; //编译不通过
dog = (Dog)animal; //必须存在一个显式转换