C#语言-02.数据类型
a. 数据类型
i. 值类型:是一种由类型的实际值表示的数据类型,存储在栈内的存储空间中,由于编译器编译后将源代码中的值类型变量直接对应到唯一的存储空间上,直接访问该存储空间,故值类型的数据具有较快地存取速度。
. 数值类型:继承于 Object ,所有类型都隐含地声明了一个公共的无参数的构造函数,称为“默认构造函数”,默认构造函数返回一个初始值为零的实例。
a. 整数:支持 种整型 sbyte、short、byte、ushort、int、uint、long、ulong,这 类型通过其占用存储空间的大小以及是否有符号来存储不现极值范围的数据。
b. 浮点数:支持 种浮点数类型:float 和 double,两种差别在于取值范围和精度不同。double 的精度大于 float
c. 小数:十进制的类型:decimal ,decimal 的精度最高,与浮点类型之间不存在隐式或显示转换
. 布尔类型(bool):用来表示“真(true)”和“假(false)”两个概念的,与其他类型之间不存在任何转换
. 字符类型(char):包括数字字符、英文字符、表达式符号等,按照国际公认的标准,采用 Unicode 字符集,使用时用“单引号('')”表示
. 结构类型(struch):是一组相关信息组合成的单一实体
a. 作用:通常用于表示较为简单或者较少的数据,其实际应用意义在于使用结构类型可以节省使用类和内存的占用,因为结构类型没有如同类对象所需的大量额外的引用
. 枚举类型(eunm):是由一组特定的常量构成的一种数据结构,系统把相同类型、表达固定含义的一组数据作为一个集合放到一起形成新的数据类型
a. 注意:为枚举类型的元素所赋值的类型限于 long、int、short、byte 等整数类型
b. 与结构类型的区别:结构类型的变量值是由各个成员的值组合而成的,而枚举类型的变量在某一时刻只能取枚举中某一个元素的值
ii. 引用类型:引用类型的数据并不驻留在栈内存中,而是存储于堆内存中,即是在堆内存中分配内存空间直接存储所包含的值,而在栈内存中中存放定位到存储具体值的索引。当访问一个具有引用类型的数据时,需要到栈内存中检查变量的内容,而该内容指向堆中的一个实际数据。
. 类类型:类是创建对象的模板
a. 语法:访问修饰符 class 类名{ //类的主体 }
b. 方法:用来描述类的行为
i. 语法:访问修饰符 返回类型 方法名(参数列表){ //方法的主体 } a. 属性:用来描述类的特征
a. 对象类型:对象是类的一个具体实例,万物皆对象
a. 字符串类型(String):是字符类型的集合,继承于 Object 类,使用时用“双引号("")”表示
a. 数组类型:是包含若干个相同类型数据的集合,数组的数据类型可以是任何类型
i. 一维数组:数组的维数决定了相关数组元素的下标数,一维数组只有一个下标
. 声明:数组类型[] 数组名;
. 两种初始化方式:
a. 在声明数组时进行初始化,如:int[] array={,,,};
b. 使用 new 关键字进行初始化,第一个下标为0,如:int[] array= new int[]{,,,}; array[]=;
ii. 多维数组:
. 声明:如二维数组是“数组类型[,] 数组名;”,三维数组是“数组类型[,,] 数组名;”
. 例子说明:定义一个二维数组 int[,] array={{,},{,},{,}} ,那么 array[,] = ;
b. 接口类型
c. 代理类型
a. 数据类型转换
i. 隐式转换:对于任何数值类型A,只要其取值范围完全包含在类型B 的取值范围内,就可以隐式转换为类型B,也就是说,int 可以转成float或double,float也可 以转换成double
ii. 显式转换:取值范围大的类型转换为取值小范围小的类型,如:double 转为 int
iii. Parse()方法:将字符串类型转换为数值类型
iv. Convert类:任何基本类型之间的相互转换,如:Convert.ToInt32() 转换为整型等方法
v. 装箱:是指将值类型转换为引用类型的过程,具体操作为:首先分配一个对象实例,然后将值类型的值复制到该实例中,装箱前后不是同一个实例,对于引用类型来说,装箱前后都是同一个实例
vi. 拆箱:是指将引用类型转换为值类型的过程,具体操作为:拆箱之前,要先检查该对象实例是否给定值类型的一个装过箱的值,然后将值从实例中赋值出来
b. 值传递与引用传递的对比
i. 值传递:是将变量的值复制一份传递给方法,使用得该方法的形参和实参的值相同。在调用的方法中修改形参也只是对实参复制吕的数据作更新,并没有真正改变实参的值
ii. 引用传递:是将要传递的对象的引用复制给方法的形参,使得被调用的方法直接对引用对象进行更改,会影响实参原来的值
a. 引用类型作为参数传递,其值的修改将会保留。以引用方式传递值类型的数据,其值的修改也将会保留,直接传递值类型数据,对它的修改不会被保留
b. 静态成员:是一种特殊的成员,不属于类的某一个具体的实例,特点:在第一次访问类前被初始化,直到程序退出才会释放,对于类的所有实例来说都是唯一的
i. 语法:Class 类名{
public static 数据类型 变量名;
public 返回值 方法名 (参数列表){ //方法体 }
}
a. 只能由该类的类名来访问
b. 只能调用静态成员
C#语言-02.数据类型的更多相关文章
- C语言02
C语言02 1.2 C语言与C程序 1.计算语言 语言发展 机器语言:机器语言是机器能直接识别的程序语言或指令代码,勿需经过翻译,每一操作码在计算机内部都有相应的电路来完成它,或指不经翻译即可为机器直 ...
- 谈谈C语言的数据类型
本文摘要: 本文主要讲述C语言中的数据类型,从基本的数据类型到派生的数据类型,从int ,char ,float double ....到指针,数组,函数,指向指针的指针,指向数组的指针,指向函数的指 ...
- C语言的数据类型
复习之余,做点笔记<C语言之数据类型> 一.整数数据类型 (1)整数数据类型 整数类型 char 字符型变量 1字节(8Bit) short 短整型 2字节(16Bit) i ...
- C语言中数据类型的取值范围
C语言中数据类型的取值范围如下:char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 ...
- 初识 go 语言:数据类型
目录 数据类型 指针 结构体 数组 切片 切片的方法 映射 函数闭包 结束语 前言: go语言的第三篇文章,主要讲述go语言中的数据类型,包括指针,结构体,数组,切片,映射,函数闭包等,每个都提供了示 ...
- c语言基础:数据类型 分类: iOS学习 c语言基础 2015-06-10 21:43 9人阅读 评论(0) 收藏
C语言基本数据类型大体上分为: 整型 和 浮点型 字节: 计算机中最小的储存单位 1 Byte = 8 bit 整型: int 4 ...
- 「C语言」数据类型及混合运算与类型转换
深入学习C语言时,有必要先了解一下数据类型的概念,以及它们之间的混合运算与类型转换. 本篇文章便是根据<C语言程序设计教程>和在线翻阅资料后整理而出.(练习题将逐步更新) 目录: ...
- Go语言基本数据类型(四)
Go语言基本数据类型主要包含:bool,number,string 布尔类型 go中的布尔类型,只能是 true 和 false,例如:var b bool = true 数字类型 整型 类型 描述 ...
- C语言基本数据类型大小
C语言基本数据类型占用的字节数可以通过如下例子获取: #include<stdio.h> int main(void) { printf("char size=%d \n&quo ...
随机推荐
- shell-脚本-作用是发现前10个最占用磁盘空间的文件
#!/bin/bash## 这个脚本的作用是发现前10个最占用磁盘空间的文件################定义这个脚本的全区变量##################################C ...
- 微信开发——测试号申请,接口配置,JS接口安全域名,自定义菜单
1.申请测试账号: 先申请公众号后,点击进入公从号的管理页面:找到“开发者工具”,找到“公众平台测试账号”,点击“进入”. 2.接口配置信息设置 必须要外网哦,也就是微信服务器要能访问到你填写到url ...
- #首行输入数n,接下来输入n行数,以空格隔开
#首行输入数n,接下来输入n行数,以空格隔开 n = int(raw_input())# print nL = []for i in range(n): L.append([int(x) for x ...
- Flink应用场景
本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...
- HTML5+CSS实现三列布局自适应
利用CSS的float属性可以将元素并排,做出三列并排的布局. 如这样的效果 实现的原理:只要将3个元素设置float属性,属性值为left,同时指定不同比例的宽度,及高度. 下面是实现代码 < ...
- Eclipse 使用TFS
Install Soft , –> add http://dl.microsoft.com/eclipse/tfs form:http://msdn.microsoft.com/en-us/ ...
- 网页footer背景(stick footer布局)
今天遇到了一个有意思的问题,想在网站的foot里面加入一张背景图片,并且在footer的底部写下一些内容于是乎在footer添加了background,并设置了footer的大小 先说一下开始的做法: ...
- js 冒泡事件与解决冒泡事件
事件冒泡 :当一个元素接收到事件的时候 会把他接收到的事件传给自己的父级,一直到window . html代码: <div id="div1"> <div id= ...
- js时间对比-转化为几天前,几小时前,几分钟前
function getDateDiff(dateTimeStamp){ var minute = 1000 * 60; var hour = minute * 60; var day = hour ...
- C++_类继承5-抽象基类
abstract base class,ABC 抽象基类 有时候is-a规则并不像看上去那么简单,例如圆和椭圆的关系.圆是椭圆的特殊情况.椭圆可以派生出圆.但是椭圆的数据成员及方法对于圆来说是信息冗余 ...