【黑马程序员】C#笔记之数据转换
来源:互联网 发布:gnu windows 编辑:程序博客网 时间:2024/06/04 08:43
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
和其他语言一样,C#中数据转换分为隐式转换和显示转换两种。
数据转换对于编程来说是经常遇到的事情,这里就涉及到数据丢失这一问题了。如果目标类型的取值范围要大于源类型的取值范围,那么在把源类型转换成目标类型的时候就可能发生丢失数据的危险,特别是涉及到一下比较严谨的运算的时候,丢失数据所带来的影响可能是致命的。
所谓隐式转换,就是系统自动在内部完成的转换,这类转换的本质就是一个小的数据类型转换到一个大的数据类型,所以不存在丢失数据的问题,例如以下几种:
从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,float,double,或decimal类型。
从uint类型到long,ulong,float,double,或decimal类型。
从long类型到float,double,或decimal类型。
从ulong类型到float,double,或decimal类型。
从char类型到ushort,int,uint,long,ulong,float,double,或decimal类型。
从float类型到double类型。
显式类型转换,即强制类型转换。与隐式转换相反,而且强制转换会造成数据丢失。所以这类转换都是需要手动完成的,其风险也是由转换者承担。例如以下转换:
从sbyte到byte,ushort,uint,ulong,或char。
从byte到sbyte或char。
从short到sbyte,byte,ushort,uint,ulong,或char。
从ushort到sbyte,byte,short,或char。
从int到sbyte,byte,short,ushort,uint,ulong,或char。
从uint到sbyte,byte,short,ushort,int,或char。
从long到sbyte,byte,short,ushort,int,uint,ulong,或char。
从ulong到sbyte,byte,short,ushort,int,uint,long,或char。
从char到sbyte,byte,或short。
从float到sbyte,byte,short,ushort,int,uint,long,ulong,char,或decimal。
从double到sbyte,byte,short,ushort,int,uint,long,ulong,char,float,或decimal。
从decimal到sbyte,byte,short,ushort,int,uint,long,ulong,char,float,或double。
由于考虑到数据需严谨的问题,所以在数据转换的时候要特别注意数据丢失的后果。
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
- 【黑马程序员】C#笔记之数据转换
- 【黑马程序员】C#之数据、变量命名
- 黑马程序员-------C#学习笔记之二
- 黑马程序员之C#学习笔记:arraylist
- 【黑马程序员】C#笔记之数值类型
- 黑马程序员之C#学习笔记:枚举以及将字符串转换为枚举学习心得
- 【黑马程序员】SQLserver笔记之数据查询
- 黑马程序员之C#学习笔记:将EXCEL表中的数据导入到后台数据库
- 黑马程序员之c#学习笔记:C#学习小总结
- 黑马程序员之C#学习笔记:关于C#构造函数
- 黑马程序员--C#数据类型转换
- 黑马程序员 C#学习笔记⑦ 文件系统数据一FileStream
- 黑马程序员—学习笔记之C#多线程
- 黑马程序员—学习笔记C#之socket
- 黑马程序员之C#学习笔记: 解决三大问题
- 黑马程序员之C#学习笔记:关于继承
- 黑马程序员之 C#学习笔记:Resharper安装和破解
- 黑马程序员之C# 学习笔记:打包的简述
- C#笔记之隐式转换和显示转换
- phpcms学习总结
- Palindrome Partitioning
- 安装MATLAB_R2013b_X64_x32激活及破解方法
- Command(命令模式)
- 【黑马程序员】C#笔记之数据转换
- vim 用户手册中文版本
- 嵌入式开发WIFI方案选型经历
- Servlet 3.0 新特性之web模块化, web-fragment.xml文件
- 杭电acm之1106-排序
- 将一棵二叉树的全部节点的左右子树交换顺序
- 最大公约数和最小公倍数
- Android官方终于支持 Navigation Drawer(导航抽屉)模式
- 深入理解拦截器原理及拦截器与过滤器的区别分析