一、定义
C# 是一门强类型语言,对类型要求比较严格,但是在一定的条件下也是可以相互转换的, 如将 int 型数据转换成 double 型数据。
C#中的数据类型转换分为两种:隐式类型转换以及显式类型转换;
二、数据类型转换方式
1、隐式类型转换
隐式类型转换是 C# 默认的以安全方式进行的转换,不会导致数据丢失。
例如,从小的整数 类型转换为大的整数类型,从派生类转换为基类。
隐式转换主要是在整型、浮点型之间的转换,将存储范围小的数据类型直接转换成存储范围大的数据类型。
例:
隐式转换大致分为以下几种:
sbyte 类型 --> short,int,long,float,double,或 decimal 类型。
byte 类型 --> short,ushort,int,uint,long,ulong,float,double,decima类型。
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 类型
2、显式类型转换
显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。
转换语法:数据类型 变量名 = (数据类型)变量名或值
例:
三、常用的数据类型转换方法
1、Parse方法
对于string类型是互相兼容的数据类型,将string类型转换为任意基本类型。
基本语法:基本数据类型.Parse(需转换的字符串类型的值);
例:
2、Convert方法
在不超过转换后数据类型范围的前提下,可将任意数据类型转换成任意数据类型,用法十分灵活。
基本语法:数据类型 变量名 = Convert.To数据类型(变量名);
例:
Convert类常用类型转换方法:
Convert.ToInt16() 转换为整型(short)
Convert.ToInt32() 转换为整型(int)
Convert.ToInt64() 转换为整型(long)
Convert.ToChar() 转换为字符型(char)
Convert.ToString() 转换为字符串型(string)
Convert.ToDateTime( ) 转换为日期型(datetime)
Convert.ToDouble() 转换为双精度浮点型(double)
Convert.ToSingle() 转换为单精度浮点型(float)
小结:
1、隐式类型转换是 C# 默认的以安全方式进行的转换,不会导致数据丢失。
2、隐式数值转换实际上就是从低精度的数值类型到高精度的数值类型的转换。
3、显式转换需要强制转换运算符,而且强制转换会造成数据丢失。
4、Parse 方法用于将字符串类型转换成任意基本类型。
5、Convert方法它能够将任意数据类型的值转换成任意数据类型,前提是不要超出(指定数据类型的范围)