C#自动类型转换与强制类型转换的讲解
自动类型转换
隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。
转换规则
从存储范围小的类型到存储范围大的类型。
整数具体规则为:
byte→short(char)→int→long→float→double
也就是说byte类型的变量可以自动转换为short类型,示例代码:
byte b = 10; short sh = b;
在类型转换时可以跳跃。示例代码:
byte b1 = 100; int n = b1;
强制类型转换
显式类型转换 - 显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。
转换规则
从存储范围大的类型到存储范围小的类型。
具体规则为:
double→float→long→int→short(char)→byte
例如:
double d = 5673.74; int i; i = (int)d;
1.Convert.ToInt32() 2. int.Parse()
Convert.ToInt32()
则可以将多种类型(包括 object 引用类型)的值转换为 int 类型,因为它有许多重载版本:
- public static int ToInt32(object);
- public static int ToInt32(bool);
- public static int ToInt32(byte);
- public static int ToInt32(char);
- public static int ToInt32(decimal);
- public static int ToInt32(double);
- public static int ToInt32(short);
- public static int ToInt32(long);
- public static int ToInt32(sbyte);
- public static int ToInt32(string);
Int32.Parse()
表示将包含数字的字符串转换为32 位有符号整数,属于内容转换
- 如果 string 为空,则抛出 ArgumentNullException 异常;
- 如果 string 格式不正确,则抛出 FormatException 异常;
可以看出来,Convert.ToInt32()
的功能是最强大的,它把Int32.Parse()
功能包括了,也是说是Int32.Parse()是Convert.ToInt32() 的一种特殊情况。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
栏 目:C#教程
下一篇:WPF基础教程之元素绑定详解
本文标题:C#自动类型转换与强制类型转换的讲解
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/4954.html
您可能感兴趣的文章
- 01-10C#实现实体类与字符串互相转换的方法
- 01-10WinForm实现程序一段时间不运行自动关闭的方法
- 01-10时间戳与时间相互转换(php .net精确到毫秒)
- 01-10C#.NET实现网页自动登录的方法
- 01-10C#编程自学之数据类型和变量二
- 01-10C#编程自学之数据类型和变量三
- 01-10C#编程自学之数据类型和变量一
- 01-10C#实现的三种模拟自动登录和提交POST信息的方法
- 01-10C#判断三角形的类型
- 01-10C#编程实现对象与JSON串互相转换实例分析
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-11ajax实现页面的局部加载
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10SublimeText编译C开发环境设置
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法实例总结
- 04-02jquery与jsp,用jquery