【转】C#学习笔记--C#的类型转换
2012-07-29 17:43
330 查看
在计算机中,所有的数据都是以0和1的形式存在的,变量的含义是通过数据的这种解释方式来传达的。在实际应用中很多地方要用到不同数据类型之间的转换,请看下面的一个例子
string str = null;
double num=null;
Console.WriteLine("enter a serial of numbers:\t");
str = Console.ReadLine();//读取一行数字
num = Convert.ToDouble(str);//字符串转换成数字
类型转换包括有两种方法:
隐式转换和显式转换,下面将分别介绍这两种方法。
一. 隐式转换
隐式转换不要做任何工作,不要编写其他的代码,可以直接转换。
请看:
ushort num1;
char ch='a';
num1 = ch;
num1 = 98;
ch = num1;// (1)
错误:法将类型“ushort”隐式转换为“char”。存在一个显式转换(是否缺少强制转换?)
如果将上面的(1)处的代码改为:ch = (char)num1;那么编译的时候就没有错误,这种方法就是显式转换。其结果如下:
ushort num1;
char ch='a';
num1 = ch;//直接转换
num1 = 98;
ch = (char)num1;//间接转换,num1的前面多了个char.
从上图可以看出隐式和显式转换的一些区别了。
二、显式转换
显式转换有个很明显的标识,在要转换的数据之前有个标识符,例如:
ch = (char)num1。当然显式转换不止只有这个方法,还可以用Convert方法来处理数据的转换。
先看下几个例子,再对照后面给出的两个表格的来验证。本文发表于编程入门网:www.bianceng.cn
int age = 22;
double myage = (double)age; //显式转换
Console.WriteLine("int age={0}", age);
Console.WriteLine("double myage={0}", myage);
float price = 55.55F;
decimal cupon = Convert.ToDecimal(price); //
使用Convert方法来处理。
Console.WriteLine("float price={0}", price);
Console.WriteLine("decimal cupon={0}", cupon);
下面的两个表格在变量的转换过程中国比较重要,特别是Convert的各种方法
表1:左边类型可以无错误的直接成功转换为右边的类型
类型
编译器隐式执行的转换
byte
short,ushort,int,uint,long,ulong,float,double,decimal
sbyte
short,int,long,float,double,decimal
short
int,long,float,double.decimal
ushort
int,uint,float,ufloat,double,decimal
int
long,float,double,decimal
uint
float,double,decimal,
long
float,double,decimal
ulong
float,double,decimal
float
double
char
ushort,int,uint,long,ulong,float,double,decimal
这些转换与两种数据的长度相关,这个表不需要记住,在实际编程过程中如果有什么错误,系统编译器会自动提醒。
表2:类Convert的常用方法:类型1 var1=Convert.method(var2);
Convert.ToBoolean();
Convert.ToInt64()
Convert.ToByte();
Convert.ToSByte();
Convert.ToChar();
Convert.ToString();
Convert.ToDecimal()
Convert.ToSingle();
Convert.ToDouble()
Convert.ToUInt16();
Convert.ToDateTime()
Convert.ToUInt32();
Convert.ToDouble();
Convert.ToUInt64();
Convert.ToInt16();
Convert.ToInt32()
以上16个方法中只有几个在实际编程过程中用到很多,特别是Convert.ToString();Convert.ToChar();
Convert.ToDateTime()这几个使用频率很高,大家要自己编程体会,下一节将会介绍C#中常用的3种复杂类型变量:结构体,数组和枚举类型。
相关文章推荐
- C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)
- (原创)c#学习笔记05--变量的更多内容01--类型转换01--隐式转换
- 【C#学习笔记】类型转换
- C#学习笔记1-类型之间的转换 分享修改删除
- (原创)c#学习笔记05--变量的更多内容01--类型转换02--显示转换
- C#学习笔记--引用类型分类,对象类型、字符串类型、数字类型,类型转换
- C#学习笔记_4.C#类型转换
- C#学习笔记-类型转换
- (原创)c#学习笔记05--变量的更多内容01--类型转换03--使用Convert命令进行显式转焕
- C#学习笔记-数据类型转换
- 【C#学习笔记】类型转换
- 【JavaEE学习笔记】Hibernate_05_数据类型转换和大对象处理,QBC(junit),DAO接口
- 【VS2010学习笔记】【类型转换】整形转换为CString类型
- 学习C#第二天之类型转换
- java学习笔记(六)----对象的类型转换, 匿名内置类
- swift学习笔记之-类型转换
- C#语言学习之旅(5)--运算符和类型强制转换
- C#教学第14讲类型转换2(学习笔记)
- CLR Via C# 学习笔记(1) 基元类型 值类型 引用类型
- C#学习笔记之类型篇