您的位置:首页 > 编程语言 > C#

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

2018-03-08 19:00 232 查看

[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

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

蓝色字体为链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# 数据类型