c#小灶——8.自动类型转换和强制类型转换
c#小灶——8.自动类型转换和强制类型转换
前面已经认识了不同的数据类型,你们有没有尝试过让不同的数据类型进行运算呢?
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了,因为整型的没有小数部分,所以装不下了啊。
原文地址https://www.cnblogs.com/hmswt/p/11362821.html

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
C#之BackgroundWorker从简单入门到深入精通的用法总结
C#之BackgroundWorker从简单入门到深入精通的用法总结需求分析 经常用到的耗时操作,例如: 1、文件下载和上载(包括点对点应用程序传输文件,从网络下载文件、图像等)2、数据库事务(从数据库读到大量的数据到WinForm界面中的DataGridview里呈现)3、复杂的本地计算4、本地磁盘文件访问(读写文件,磁盘文件列表)…… 这些操作在长时间运行时会导致用户界面 (UI) 处于停止响应状态,用户在这操作期间无法进行其他的操作,造成非常差的用户体验,为了不使UI层处于停止响应状态,则可以使用 BackgroundWorker 类方便地解决这类问题。这个后台的线程处理,可以很好的实现常规操作的同时,还可以及时通知UI当前处理信息的进度等。 MSDN的介绍 BackgroundWorker是.NET Framework 里用来执行多线程任务的控件,它允许开发人员在一个单独的线程上执行一些操作。耗时的操作(如下载和数据库事务)在长时间运行时可能会导致用户界面 (UI) 似乎处于停止响应状态。 如果您需要能进行响应的用户界面,而且面临与这类操作相关的长时间延迟,则可以使用 Back...
- 下一篇
讲解开源项目:5分钟搭建私人Java博客系统
讲解开源项目:5分钟搭建私人Java博客系统本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和运行 Tale 项目。示例均在 Windows 操作系统下演示 本文作者:HelloGitHub-秦人 HelloGitHub 推出的《讲解开源项目》系列,今天给大家带来一款基于 Java 语言的轻量级博客开源项目——Tale 它拥有小、美、快、稳的特点。该项目完全开源、免费,能够让你快速搭建包含前、后台的博客系统,大大节省了搭建私人博客的时间,开箱即用。让你可以专注于创作,让有故事的人更方便的表达想法。 Tale 的项目地址:https://github.com/otale/tale 想要快速搭建一套自己的博客,那就跟着本文的步骤。你只需要花 5 分钟,就能拥有一个属于自己的私人博客了,并且可以对整个项目有一个完成的概念和感觉。下面是搭建完成的效果图: 那就让我们开始吧! 一、技术栈Tale 基于的技术如下: Blade 框架:快速搭建 Web 应用程序的开源框架,该框架代码简洁、风格优雅。Jetbrick-template 模板引擎:适合于动态 HTML 页面输出或者代码生成,可...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7,8上快速安装Gitea,搭建Git服务器