[目录][C#笔记]---第一节 数据类型

[1],数据类型




基元类型:

        编译器直接支持的类型. 基元类型是直接映射到Framework类库(FCL)中存在的类型. 

例如,C#的int直接映射到System.Int32类型.

int a=0; System.Int32 a=0; int a=new int(); System.Int32 a=new System.Int32(); 

这四个声明实现的功能是相同的.


基元类型包括:

sbyte(System.SByte),byte(System.Byte),short(System.Int16),ushort(System.UInt16),

int(System.Int32), uint(System.UInt32),long(System.Int64),ulong(System.UInt64),

char(System.Char),float(System.Single),double(System.Double),bool(System.Boolean),

decimal(System.Decimal),string(System.String),

object(System.Object),dynamic(System.Object)



值类型(点击跳转)

值类型的实例在栈上分配,在代表值类型实例的变量中不包含指向实例的指针,

相反,变量中包含实例本身的字段.


因为变量中的值已经直接在栈中,所以没有必要再去堆中去找值,这样也就缓解了托管堆的压力,

并减少了垃圾的回收次数.

    
        整型,浮点型,Decimal ,Bool(布尔),Char字符,DateTime,Enum


引用类型(Object类型和字符串类型):

从托管堆中分配,c#的new操作符返回对象内存地址——即指向对象数据的内存地址.

在栈中保存的是指向堆中的地址,而真实值在堆中.


动态类型(Dynamic):    

        Dynamic:  可以存储任何类型的值在动态数据类型变量中。这些变量的类型检查是在运行时发生的。 
        推断类型(var):  经过等号(=)来确定类型


集合:  将一堆数据类型相同或不同的数据放入到一个容器内,该容器就是数组。

数组:内存中开辟的一连串空间。

        ArrayList集合
        Array数组
        HashTable集合
        List<T>集合
        Dictionary<K,V>集合


栈(Stack)代表了一个只有一个出口的后进先出的对象集合。

在列表中添加一项,称为推入元素,从列表中移除一项时,称为弹出元素。


队列(Queue)代表了一个先进先出的对象集合。

当您需要对各项进行先进先出的访问时,则使用队列。

当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。



虚拟表格:

DataTable:是一个临时保存数据的网格虚拟表(表示内存中数据的一个表)。


相关知识点:托管堆和堆栈(点击跳转)



作者:FengYang

博客地址:http://blog.csdn.net/qq_28140365

版权声明:如果感觉文章哪里写的不对或者存在疑问,欢迎留言,共同学习、进步!

蓝色字体为链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值