- 类型转换的概念:C#是强类型的语言,对类型比较严格,在一定的条件下也是可以互相转换的,有两种转换方式:隐式转换和显示转换。
- 隐式类型转换:C#默认以安全的方式进行的转换,不会导致数据丢失,如,小的整数类型转换为大的整数类型,从派生类转换为基类。隐式转换主要是在整型、浮点型之间的转换,将存储范围小的数据类型直接转换成存储范围 大的数据类型。
隐式数据转换的例子:
从 sbyte 类型到 short,int,long,float,double,或 decimal 类型。
从 byte 类型到 short,ushort,int,uint,long,ulong,float,double,或 decimal 类 型。
从 short 类型到 int,long,float,double,或 decimal 类型。
从 ushort 类型到 int,uint,long,ulong,float,double,或 decimal 类型。
从 int 类型到 long,float,double,或 decimal 类型。
从 uint 类型到 long,ulong,float,double,或 decimal 类型。
从 long 类型到 float,double,或 decimal 类型。
从 ulong 类型到 float,double,或 decimal 类型。
从 char 类型到 ushort,int,uint,long,ulong,float,double,或 decimal 类型。
从 float 类型到 double 类型
3.显示类型转换:强制类型转换,需要强制转换运算符,而且强制转换会造成数据丢失。强制类型转换主要用于存储范围大的数据转换成存储范围小的,但数据类型需要兼容。
强制类型的转换语法如:数据类型变量名 = (数据类型)变量名或值。
4.数据类型的转换方法
Parse方法:该方法可以将字符串类型转换成任意基类型
语法:基本数据类型,parse(字符串类型的值);
Convert方法:,它能够将任意数据类型的值转换成任意数据 类型,前提是不要超出指定数据类型的范围。
语法:数据类型 变量名 = convert.To数据类型(变量名);
Convert.ToInt16() 转换为整型(short)
Convert.ToInt32() 转换为整型(int) Convert.ToInt64() 转换为整型(long)
Convert.ToChar() 转换为字符型(char)
Convert.ToString() 转换为字符串型(string)
Convert.ToDateTime( ) 转换为日期型(datetime)
Convert.ToDouble() 转换为双精度浮点型(double)
Conert.ToSingle() 转换为单精度浮点型(float)
5.拆箱和装箱
装箱:将值类型转换为引用类型的操。
拆箱:相应地将引用类型转换为值类型。
利用装箱和拆箱功能,可通过允许值类型的任何值与 Object 类型的值相互转换,将值类型 与引用类型链接起来。