标签:
| 版权声明:本文为博主原创文章,未经博主允许不得转载。
1. 隐式转换:隐式转换就是系统默认的、不需要加以声明就可以进行的转换。
*注意:1》.只能进行同值类型之间的转换(即double不能和string进行隐式转换)
2》.隐式转换只支持从小范围的数转换到大范围的数(即long ---> int是不可行的,因为long的范围在(-2^63~2^63-1),
而int的范围在(-2^31~2^31-1)明显小于long的范围)
3》.大精度的不能转换成小精度的数:(即decimal类型的不能转换成double类型,因为decimal的精度能准确的表示到27~28
位数值,而double却只能表示到15~16为数值,因此如果将decimal转换成double,将会丢失很多位的数据,因此大精度的类型不能转换成
小精度的类型)
2.c#支持的隐式转换
1 从sbyte类型到short,int,long,float,double,或decimal类型。 2 从byte类型到short,ushort,int,uint,long,ulong,float,double,或decimal类型。 3 从short类型到int,long,float,double,或decimal类型。 4 从ushort类型到int,uint,long,ulong,float,double,或decimal类型。 5 从int类型到long,float,double,或decimal类型。 6 从uint类型到long,ulong,float,double,或decimal类型。 7 从long类型到float,double,或decimal类型。 8 从ulong类型到float,double,或decimal类型。 9 从char类型到ushort,int,uint,long,ulong,float,double,或decimal类型。 10 从float类型到double类型。
3.显示转换(强制类型转换):需要明确的指定转换类型,显示转换可能导致信息丢失(精度上可能产生损失)
*注意:同样的显示转换,也必须是同值类型的转换,不能从double转换为string
示例:
1 double s; 2 int S= (int)s;
4.拆箱和装箱
装箱:把一个值类型变量装箱也就是创建一个object对象,并将这个值类型变量的值复制给这个object对象
1 //隐式转换,obj为创建的object对象的引用 2 int i = 10; 3 object obj = i; 4 //显示转换 5 int i = 10; 6 object obj = object(i);
拆箱:拆箱操作是指将一个引用类型显示转换成一个值类型。
1 object obj = new object(); 2 int j = (int)obj;
5.用户使用Console.ReadLine()来转换用户输入内容的类型。
在这里使用新的语句: Convert.ToType();来实现
如下:
1 Convert.ToDouble(); //将String转换成双精度类型 2 Convert.ToInt32(); //将String转换成int类型 3 Convert.ToInt64(); //将String转换成long类型 4 .........
使用示例:
1 string str; 2 int age; 3 Console.WriteLine("请输入你的年龄: "); 4 str = Console.ReadLine(); 5 age = Convert.ToInt32(str); 6 Console.WriteLine("我今年 {0} 岁了!", age); 7 Console.ReadKey();
标签:
原文地址:http://www.cnblogs.com/geore/p/5792436.html