码迷,mamicode.com
首页 > Windows程序 > 详细

C#类型转换

时间:2016-08-21 13:42:36      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

|   版权声明:本文为博主原创文章,未经博主允许不得转载。

 

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 = 106 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();

C#类型转换

标签:

原文地址:http://www.cnblogs.com/geore/p/5792436.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!