C#学习回顾笔记五:显式转换与隐式转换
2017-09-20 18:31
302 查看
1)变量类型转换是什么?
简单地理解,变量类型转换就是将一个类型的变量转换成另一个类型的变量。
2)为什么使用类型转换?
在写代码过程中有时候必须用到类型转换。比如将一个字符串值"123"转换成int类型123,在特定条件下这是必要的,为了满足一些需求时。
3)如何使用类型转换?
类型转换常用的就是显式转换与隐式转换。显式转换要求变量的值在赋值给另一个类型变量时,必须强制用某些函数来转换。隐式转换则是将变量的值赋值给另一个类型变量时,在内部就自动转换成了另一个类型的变量。
4)隐式转换
隐式转换的代码如下所示,变量num1的值12本来是int类型,为何在第二句却可以直接复制给num2使用呢?通常来讲变量类型决定保存的值也必须是这个类型,但这里12赋值给num2却成功,实际上这就是隐式转换。首先int和double兼容(都是数字类型),其次目标类型(double)大于原类型(int),因此可以隐式转换为大的类型:
5)显式转换
double无法隐式转换为int,这样会报错:
如上图所示,红线提示为“无法将类型double隐式转换为int”,因此这时候需要使用显式转换,可以使用Convert.ToInt32()将double类型转换为int类型。代码如下:
运行会发现屏幕输出的是12,实际上可以证明:①成功将double类型的12.5转换成了int类型 ②因为int类型只能保存整数,因此12.5在转换时只截取了整数部分保存。
6)补充
变量类型转换有Convert和Parse两种方式,比如:
Convert:
将字符串转成数值int类型,int num=Convert.ToInt32("123");
将字符串转成数值double类型,double num=double.Parse("12.5");
Parse:
将字符串转成数值int类型,int num=int.Parse("123");
将字符串转成数值double类型,double num=double.Parse("12.5");
简单地理解,变量类型转换就是将一个类型的变量转换成另一个类型的变量。
2)为什么使用类型转换?
在写代码过程中有时候必须用到类型转换。比如将一个字符串值"123"转换成int类型123,在特定条件下这是必要的,为了满足一些需求时。
3)如何使用类型转换?
类型转换常用的就是显式转换与隐式转换。显式转换要求变量的值在赋值给另一个类型变量时,必须强制用某些函数来转换。隐式转换则是将变量的值赋值给另一个类型变量时,在内部就自动转换成了另一个类型的变量。
4)隐式转换
隐式转换的代码如下所示,变量num1的值12本来是int类型,为何在第二句却可以直接复制给num2使用呢?通常来讲变量类型决定保存的值也必须是这个类型,但这里12赋值给num2却成功,实际上这就是隐式转换。首先int和double兼容(都是数字类型),其次目标类型(double)大于原类型(int),因此可以隐式转换为大的类型:
5)显式转换
double无法隐式转换为int,这样会报错:
如上图所示,红线提示为“无法将类型double隐式转换为int”,因此这时候需要使用显式转换,可以使用Convert.ToInt32()将double类型转换为int类型。代码如下:
运行会发现屏幕输出的是12,实际上可以证明:①成功将double类型的12.5转换成了int类型 ②因为int类型只能保存整数,因此12.5在转换时只截取了整数部分保存。
6)补充
变量类型转换有Convert和Parse两种方式,比如:
Convert:
将字符串转成数值int类型,int num=Convert.ToInt32("123");
将字符串转成数值double类型,double num=double.Parse("12.5");
Parse:
将字符串转成数值int类型,int num=int.Parse("123");
将字符串转成数值double类型,double num=double.Parse("12.5");
相关文章推荐
- (原创)c#学习笔记05--变量的更多内容01--类型转换01--隐式转换
- 数据类型回顾——数据类型转换(显式和隐式)—JS学习笔记2015-6-3(第47天)
- C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)
- C#回顾学习笔记三十一:抽象类与抽象方法
- C#回顾学习笔记三十二:密封类和密封方法
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- 第59讲:Scala中隐式转换初体验实战详解以及隐式转换在Spark中的应用源码解析学习笔记
- C#学习笔记之图片、字节数组、base64之间的转换
- 隐式转换与显式转换【C#】
- C#回顾学习笔记二十八:装箱和拆箱
- C#回顾学习笔记三十三:partial部分类
- C#回顾学习笔记十二:三元表达式
- 【C#学习笔记】类型转换
- C#回顾学习笔记二十三:静态字段与递归
- C#学习笔记之对象和二进制之间的转换
- C# OpenCV学习笔记三之图像捕捉及其灰度转换方法
- C#回顾学习笔记十六:out、ref和params参数
- Scala学习教程笔记三之函数式编程、集合操作、模式匹配、类型参数、隐式转换、Actor、
- C#回顾学习笔记四十二:重写ToString()的意义
- C#学习回顾笔记四:C#的通配符是什么