快速撑握C#知识点之变量,类型及类型转换
语法:数据类型 变量名;
例如:
2.常量:也称常数,是一种恒定的或不可变的数值或数据项。
语法: const 数据类型 常量名 = 常量值;
例如:
3.数据类型:
在C#当中,分为两种数据类型,值类型与引用类型.
值类型,表示实际数据,只是将值存放在内存中,值类型都存储在堆栈中,包括:
简单类型:int,char,float,double,bool等,还有结构及枚举.
引用类型,表示指向数据的指针或引用,包含内存堆中对象的地址,为 null时则表示未引用任何对象,包括:
类,接口,数组,字符串,委托,Object.
4.类型转换:
字符串与值类型之间的转换:
类型.Parse(字符串),返回值为相应的类型.
Convert.To类型(参数),参数为多种,返回值为类型.
例:
{
int inti = int.Parse("1");//类型.Parse(字符串)
int intj = Convert.ToInt32("1");//Convert.To类型(参数)
}
强制类型转换:
在同为值类型或同为引用类时,从较小数据类型到较大数据类型的转换称为扩展转换,否则称为收缩转换。编译器能进行隐式的扩展转换,对于收缩转换必须进行显式的强制性转换。因为收缩转换会导致丢失数据,在转换前我们要检查实际值是否超出目标类型的范围。另一个办法是使用checked运算符,如果转换时丢失数据将抛出一个错误。
如:
{
int inti = 7;//32位的整数
long intl = 8;//64位的整数
intl = inti;//从小类型int转向大类型long时,为隐式转换
inti = (int)intl;//把大类型logn转为小类型int时,就必须得加强制转换符(int)
}
装箱与拆箱
定义:把值类型转换为Object的过程称为装箱。
由于值类型与引用类型在内存中的存储方式不同,所以我们在转换的过程的理解上有些复杂,实际的语法跟强制类型转换无区别,我们形象的称之为装箱,与拆箱.对于拆箱的限制其实很好理解,因为谁也不能从装的是苹果的箱子里拆出葡萄来.
{
int j = 4; //可以以下面正常的转换语法显式地将一个值装箱:
object ojb = (object)j;
int k = (int)obj; //使用相同的类型转换语法可以把装箱的变量拆箱回值类型:
//对拆箱操作有一些限制。只能将显式装箱的变量进行拆箱。正常的强制转换中的限制在这里也适用。例如,如果把一个long型值装箱为一个对象,我们不能把对象拆箱为一个int型值,虽然在拆箱后可以显式地把long转换为int:
long x = 1000;
object obj = (object)x;
int i = (int)((long)obj);
}
关于这部分我们就先说到这里,如果有朋友想更详细的了解,请点击下例网址: [url]http://www.cnblogs.com/xy8.cn/articles/1227228.html[/url]
转载于:https://blog.51cto.com/jianle/88978
快速撑握C#知识点之变量,类型及类型转换相关推荐
- 快速撑握C#知识点系列文章
首先,我写这个系例只是为了那些想快速学习C# 相关知识的朋友提供,可能有些知识点写不到.请原谅! 1.快速撑握C#知识点之什么是C#及.NET FrameWork 2.快速撑握C#知识点之编写一个C# ...
- 快速撑握C#知识点系列之(struct)结构
1.引言: 在我们之前的文章中,介绍了类及面象对象的基本概念,那我们也知道了类是引用类型,是保存在托管堆中的.通过一定义类,我们可以在数据的生存期上得到很高的灵活性,但是也会让程序的性能有一定的损失. ...
- 快速撑握C#知识点之类的数据成员
在看过类与对象之后,来了解一下类的成员. 类的成员共分为两个大类,一是数据成员,另一类是函数成员: 数据成员:字段.常量.事件. 函数成员:方法.属性.索引器.构造函数.析构函数.操作符. 字段:字段 ...
- long类型怎么转换成string_Python知识点-Python变量类型有哪些?
Python的内置变量类型是非常基础的知识点,善用变量类型转换在日常的工作学习中会给我们带来非常大的帮助. 相对于其他语言,Python的变量类型既有自己的特色方法,也有借鉴前辈的优秀之处.今天酷仔整 ...
- 快速撑握五笔输入法的末笔识别
最近一些朋友在留言中提到学习五笔时遇到的一些困难,特别是末笔识别方面比较困惑.在这里向大家介绍一下末笔识的方法.其实规则很简单,只要大家用心体会一下,很容易撑握. 我们知道五笔输入法是跟据汉字的五种基 ...
- C语言学习笔记01:C语言基础语法_变量类型_类型转换
文章目录 C语言第一天课程笔记 1. 内容安排 2. 课堂笔记 2.1 计算机硬件 2.2 计算机软件 2.3 编程语言和编译器 2.4 编程语言发展 2.5 C语言标准 2.6 C语言学习理由 2. ...
- Go 知识点(13) — 如何判断变量类型
在 Go 语言中可以使用类型断言来判断变量的类型,类型断言的使用有两种方式: 返回两个值,分别是断言为设置类型后的值和断言成功的标志符: 返回一个值,表示断言为设置类型的值: 1. 返回单个值的使用 ...
- Python 高级变量类型 —— 列表、元组、字典、字符串、公共方法
文章目录 写在开头的话 高级变量类型 00. 目标 知识点 01. 列表 1.1 列表的定义 1.2 列表常用操作 关于del关键字 02. 元组 2.1 元组的定义 创建含有多种数据类型的元组 创建 ...
- 初级黑客必需撑握的8个DOS命令
初级黑客必需撑握的8个DOS命令 一,ping 它是用来检查网络是否通畅或者网络连接速度的命令.作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是 ...
最新文章
- 沈向洋:读论文的三个层次
- 使用IntelliJ IDEA 2016创建maven管理的Java Web项目
- 设计模式:备忘录模式(Memento)
- servlet中用out.print输出中文为“乱码”如何解决
- BugkuCTF-Crypto题easy_crypto
- JAR包、WAR包及EAR包的区别
- 并发并行,异步同步,阻塞非阻塞
- 马尔科夫随机场之图像去燥【Matlab实现,PRML例子】
- golang mysql 回调_Golang操作MySQL的正确姿势
- TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下降3.29%
- tomcat集群共享session
- html 苹果微信录音js,基于JS开发微信网页录音功能的实例代码
- matlab 噪声协方差矩阵,已知各个通道的信号的协方差矩阵(covariance matrix), 模拟各个通道的噪声信号...
- 傻,是不值得同情和原谅的事情
- Ubuntu开启BBR加速
- hilbert曲线序编码matlab,[转载]希尔伯特曲线及其matlab画法
- Excel中文转拼音
- 关于深入理解Java线程
- 关于JavaScript的Object所有方法
- windows下制作macos安装u盘_制作MacOS系统启动盘教程以及安装教程
热门文章
- golang string 转换 uint64_Golang 的 #x27;print#x27; 源码解读
- 线下零售企业在数据驱动上的三个挑战和三条思路
- Memcached 1.5.13 发布,支持 TLS
- python爬虫入门(六) Scrapy框架之原理介绍
- 小白学习IOT之模拟设备RRPC命令下发
- #翻译# 关于 Java 性能方面的 9 个谬论
- 【分布式】Zookeeper请求处理
- CodeIgniter笔记4
- (转)互联网产品经理必备的工具(windows)
- 【20120516】【中午】