zoukankan      html  css  js  c++  java
  • C# 类型、存储和变量

      如果广泛地描述C和C++程序的源代码的特征,可以说C程序是一组函数和数据类型,C++程序是一组函数和类,然而C#程序是一组类型声明。

      既然C#程序就是一组类型声明,那么学习C#就是学习如何创建和使用类型。所以需要做的第一件事情就是了解什么是类型。

      可以把类型想象成一个用来创建数据结构的模板,模板本身并不是什么数据结构,但它详细说明了由该模板构造的对象的特征。

      类型由下面的元素定义:

      . 名称

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

      . 一些行为及约束条件

      实例化类型

        从某个类型模板创建实际的对象,称之为实例化该类型。

      数据成员和函数成员

        像short、int和long等这样的类型称之为简单类型,这种类型只能存储一个数据项。

        其他类型可以存储多个数据项,比如数组(array)类型就可以存储多个同类型的数据项。这些数据项称为数组元素。

        然而另外一些类型可以包含许多不同类型的数据项(类)。这些类型中的数据项个体称为成员,并且与数组中使用数字类引用成员不同,这些成员有独特的名称。

        有两种成员:数据成员和函数成员。

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

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

      预定义类型

      C#提供了16种预定义类型。

      如图

      

    需要注意的是:

    bool类型表示布尔值并且必须为true或false.

    decimal是高精度小数类型,与float和double不同,decimal类型可以准确地表示分数,decimal类型常用语货币的计算。

    非简单类型

    object::所有其他类型的基类,包括简单类型

    string::0个或多个Unicode字符所组成的序列

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

    用户定义类型

    1:类类型(class);

    2: 结构类型(struct)

    3:数组类型(array)

    4:枚举类型(enum)

    5:委托类型(delegate)

    6:接口类型(interface)

    一旦声明了类型就可以创建和使用这种类型的对象,就像他们是预定义类型一样。

    例如:

    预定义类型: int  a;

          float b;

    用户自定义类型:

    堆和栈

    程序运行的时候,他它数据必须存储在内存中,一个数据项需要多大的内存,存储在什么地方以及如何存储都依赖于该数据的类型。

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

    栈:

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

    1:某种类型变量的值

    2:程序当前的执行环境

    3:传递给方法的参数

    栈的特征:

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

    .2 把数据放到栈顶称为入栈

    .3 从栈顶删除数据称为出栈

    堆是一块内存区域,在堆里可以分配大块的内存用于存储某种类型的数据对象,与栈不同,堆里的内存能够任意顺序存入和删除。

    虽然程序可以在堆里保存数据,但并不能显示地删除它们。CLR的自动GC(Carbage collector,垃圾收集器)在判断出程序的代码将不会再访问某种数据项的时候,自动清除无主的堆对象。

    如下图所示

    变量

    这里不再多介绍了。

    如有雷同,请联系我。

  • 相关阅读:
    Class类
    HTML表单格式化
    HTML表单组件
    html常用标签
    Html概述
    Myeclipse2016安装Aptana
    长元音
    对比法记音标
    Java基础八--构造函数
    WPS2012交叉引用技巧,word比wps这点强更新參考文献
  • 原文地址:https://www.cnblogs.com/cxq0017/p/5839304.html
Copyright © 2011-2022 走看看