• C#4.0图解教程(第三章)


    类型由下面的元素定义:

    1.名称

    2.用于保存数据成员的数据结构

    3.一些行为的约束

    short类型

    名称:short

    结构:2Bytes

    行为:16位整数

    名称:int

    结构:4Bytes

    行为:32位整数

    3.3实例化类型

      通过实例化类型而创建的对象被称为类型的对象或类型的实例。这两个术语可以互换

    3.4数据成员和函数成员

    像short、int 和龙称为简单类型。只能存储一个数据。

    存储多个数据如数组(array)

    成员类别

         有两种成员

        数据成员  保存了与找个类的对象或作为一个整体的类相关的数据

        函数成员  执行代码。函数成员定义类型的行为

    3.5 预定义类型

    11种数值类型

        不同长度的有符号和无符号整数类型

        浮点数类float和double

       一种称为decimal的高精度小数类型。与floating和double不同。decimal类型可以准确地表示分数。decimal类型常用于货币的计算

      一种Unicode字符类型char

    一种布尔类型bool。bool类型表示布尔值并且必须为true或false中的一个

    3种非简单类型

    string  ,它是一个Unicode字符数组

    object 它是所有其他类型的基类

    dynamic 使用动态语言编写的程序集时使用

    预定义补充

     所有定义的类型都直接映射到底层的.net类型

     在C#中尽量使用C#类型别名而不是.net类型别名

    3.6用户定义类型

    类类型(class)

    结构类型(struct)

    数组类型(array)

    枚举类型(enum)

    委托类型(delegate)

    接口类型(interface)

    类型通过类型声明创建,类型声明包含一下信息

    要创建的类型的种类

    新类型的名称

    对类型中每个成员的声明(名称和规格)。array和delegate类型除外。它们不含有命令成员。

    用户必须先声明一个类型,然后实例化该类型的对象

    3.7栈zhan和堆dui

    运行程序使用两个内存区域来存储数据:栈和堆

    3.7.1

    栈是一个内存数组,是一个LIFO(后进先出)的数据结构。栈存储几种类型的数据

     某些类型的变量值

    程序当前执行的环境

    传递给方法的参数

    栈的特征

      数据项被压入栈顶并从栈顶弹出

       数据只能从栈的顶端插入和删除

       把数据放到栈顶称为入栈push

       从栈顶删除数据称为出栈pop

    3.7.2堆

    堆里的内存能够以任意顺序存入和移除

    虽然程序可以在堆里保存数据,但并不能显式地删除它们CLR自动在判断出不被使用时,自动删除无主堆的对象。

    3.8值类型和引用类型

    类型被分为两种:值类型和引用类型

    值类型只需要一段单独的内存。用于存储实际的数据

    引用类型需要两段内存

       第一段存储实际的数据,它总是位于堆中

       第二段是一个引用,指向数据在堆中存放的位置

      对于值类型,数据存放在堆里。对于引用类型,实际数据存放在堆里而引用存放在堆里。

    3.8.1存储引用类型和对象的成员

    引用类型对象的数据部分始终存放在堆里

    值类型对象,或引用类型数据的引用部分可以存放在堆里。也可以存放在栈里,这依然实际环境。

    对于引用类型的任何对象,它所有的数据成员都存放在堆里,无论它们是值类型还是引用类型

  • 相关阅读:
    redis学习(四)
    redis学习(三)
    redis学习(二)
    redis学习(一)
    Maven入门(二)pom.xml和核心概念
    Maven入门(一)
    uni-app 引用
    uni-app 搜索栏
    Vue,组件切换-切换动画
    Vue,组件切换-方式2
  • 原文地址:https://www.cnblogs.com/tangdacheng/p/2531510.html
Copyright © 2020-2023  润新知