C#类型转换

C#类型转换

一、类型转换概念

类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在C#中,类型铸造有两种形式:

—隐式类型转换 这些转换是C#默认的以安全方式进行的转换,不会导致数据丢失。例如:从小的整数类型转换为大的整数类型,从派生类转换为基类。

—显式类型转换 显式类型转换即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。

(一)隐式类型转换

隐式转换主要是在整形、浮点型之间的转换,将储存范围小的数据类型直接转换成储存范围大的数据类型。

实例:

135

 

隐式数值转换包括以下几种:

从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,folat,double,或decimal类型

从uint类型到float,ulong,long,double或decimal类型

从long类型到float,double或decimal类型

从ulong类型到float,double或decimal类型

从char类型到ushort,int,uint,long,ulong,float,double或decimal类型

从float类型到double类型

隐式数值转换实际上就是从低精度的数值类型到高精度的数值类型的转换。

(二)显式类型转换

显式类型转换即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。

强制类型转换主要用于将存储范围大的数据类型转换成存储范围小的、但数据类型需要兼容。

转换语法:

数据类型变量名=(数据类型)变量名或值

实例:

double dbl_num=123456.456;
int k=(int) dbl_num;//此处运用了强制转换

136

  • 数据类型转换方法
  1. Parse方法

C#Parse方法用于将字符串类型转换成任意基本类型,具体的语法形式如下:

基本数据类型.Parse(字符串类型的值);

这里要求等号左、右两边的数据类型兼容。

实例:

static void Main(string[] args)
{
Console.WriteLine("请输入一个数字;");
string value=Console.ReadLine();

int num=int.Parse(value);

num++;

Console.WriteLine("输入的数字计算之后等于:{0}",num);
}

137

  1. Convert方法

Convert方法是数据类型转换中最灵活的方法,它能够将任意数据类型的值转换成任意数据类型,前提是不要超出指定数据类型的范围。

语法形式如下:

数据类型 变量名=convert.To数据类型(变量名);

这里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)

  • 装箱和拆箱

装箱:将值类型转换为引用类型的操作。

拆箱:相应地将引用类型转换为值类型。

利用装箱和拆箱功能,可通过允许值类型的任何值与Object类型的值相互转换,将值类型与引用类型连接起来。

例:

int val=100;
object obj=val;
Console.WriteLine("对象的值={0}",obj);
//这是一个装箱的过程,是将值类型转换为引用类型的过程

int num=(int)obj;
Console.WriteLine("num:{0}",num);
//这是一个拆箱的过程,有引用类型转换为值类型的过程

140

&

141

 

 142

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值