C#中的自动类型转换和强制类型转换
作者:怡红公子0526 时间:2023-08-10 07:11:14
前面已经认识了不同的数据类型,你们有没有尝试过让不同的数据类型进行运算呢?
int a = 1;
double b = a;
Console.WriteLine(b);
运行结果是:1
我们把一个整型的变量赋值给了一个浮点型的变量,可以正常的输出,如果我们把一个浮点型的变量赋值给一个整型的变量呢?
double a = 1;
int b = a;
Console.WriteLine(b);
这样就会报错。
为什么呢?因为我们之前说过,变量就像一个容器,里面存放着变量的值。而数据类型就相当于容器的类型,决定了容器能够存放什么样的值。
试想,生活中我们把小盒子里的东西放进大盒子里,是没有问题的。数据类型也是这样。我们把整型的数据赋值给浮点型是可以放进去的,放进去之后里面的值1其实也就变成了浮点型,即1.0,不过c#输出的时候,很聪明的把后面的.0去掉了。
结论:占字节小的可以向占字节大的自动转换,但占字节大的不能向占字节小的自动转换。
这种数据类型的转换是自动完成的,所以叫做自动类型转换。
如果我偏要把字节大的赋值给字节小的怎么办呢?试想,生活中我们把大盒子中的东西装进小盒子,东西少还好,东西多了就只能装进去一部分了。现在我说,我不听我不听,我就是要把大盒子的东西装进小盒子。哭唧唧……
没办法,我们只能使用强制类型转换,即把占字节大的数据类型强制转换为占字节小的数据类型。
double a = 1.2;
int b = (int)a;
Console.WriteLine(b);
我们在引用变量a给b赋值时,在a前面加了个括号,就是把数据类型强制转换为括号里的数据类型。我们运行一下,结果是:1
a的值是1.2,强制类型转换赋值给了b之后就只剩1了,因为整型的没有小数部分,所以装不下了啊。
总结
以上所述是小编给大家介绍的C#中的自动类型转换和强制类型转换 ,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢
来源:https://www.cnblogs.com/hmswt/p/11362821.html
标签:c#,类型转换
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Android嵌套滚动NestedScroll的实现了解一下
2022-09-10 13:48:57
![](https://img.aspxhome.com/file/2023/5/101825_0s.gif)
Java中scheduleAtFixedRate的用法
2022-10-10 11:07:37
c# 使用HtmlAgilityPack解析Html
2021-06-22 11:50:11
Android实现界面跳转功能
2022-05-07 21:51:32
![](https://img.aspxhome.com/file/2023/9/96769_0s.jpg)
Spring Boot分离配置文件的多种方式总结
2021-08-31 14:43:37
![](https://img.aspxhome.com/file/2023/7/77457_0s.jpg)
Java同步容器和并发容器详解
2023-03-22 06:45:28
![](https://img.aspxhome.com/file/2023/5/82445_0s.jpg)
深入理解SpringMVC中央调度器DispatcherServlet
2023-03-11 08:54:48
![](https://img.aspxhome.com/file/2023/4/119184_0s.jpg)
datatable生成excel和excel插入图片示例详解
2022-06-18 21:48:38
![](https://img.aspxhome.com/file/2023/2/116592_0s.jpg)
RocketMQ消息过滤与查询的实现
2023-06-26 10:04:25
![](https://img.aspxhome.com/file/2023/0/68700_0s.jpg)
Android应用更新之自动检测版本及自动升级
2023-12-27 07:23:01
![](https://img.aspxhome.com/file/2023/0/138230_0s.jpg)
C#实现俄罗斯方块
2023-10-29 05:44:27
Spring Security认证的完整流程记录
2021-12-15 13:04:03
简单实现Android闹钟功能
2022-05-23 16:17:53
![](https://img.aspxhome.com/file/2023/6/108256_0s.jpg)
C#自定义音乐播放器进度条
2023-07-04 21:54:05
![](https://img.aspxhome.com/file/2023/9/126089_0s.jpg)
Java多线程之读写锁分离设计模式
2021-06-08 07:20:48
SpringMVC后端返回数据到前端代码示例
2023-06-20 13:12:47
使用IDEA开发配置Java Web的初始化过程
2022-09-25 16:33:38
![](https://img.aspxhome.com/file/2023/4/64794_0s.jpg)
C# 中对象序列化XML的方法
2021-11-12 13:51:55
![](https://img.aspxhome.com/file/2023/5/82215_0s.png)
C语言实现线性表的基本操作详解
2022-02-24 22:08:32
![](https://img.aspxhome.com/file/2023/4/120794_0s.png)
Android仿微信图片上传带加号且超过最大数隐藏功能
2022-12-27 13:20:03
![](https://img.aspxhome.com/file/2023/0/128950_0s.png)