类型存储和变量

Posted timeline

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类型存储和变量相关的知识,希望对你有一定的参考价值。

C#程序是一组类型声明

    a)C#程序或DLL的源代码是一组一种或多种类型的声明。

    b)对于可执行程序,类型声明中必须由一个包含Main方法的类。

    c)命名空间是一种把相关的类型声明分组并命名的方法

类型是一种模板

类型由下面元素定义:

      a)名称

      b)用于保存数据成员的数据结构

      c)一些行为及约束条件

技术分享图片

实例化类型

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

     a)通过实例化类型而创建的对象被称为类型的对象或类型的实例。

     b)在C#程序中,每个数据项都是某种类型的实例。

技术分享图片

数据成员和函数成员

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

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

 

预定义类型

所有预定于类型的名称都由全小写组成。

技术分享图片

技术分享图片

技术分享图片

用户定义类型

     a)类结构(class)

     b)结构类型(struct)

     c)数组类型(array)

     d)枚举类型(enum)

     e)委托类型(delegate)

     f)接口类型(interface)

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

      a)要创建的类型种类

      b)新类型的名称

      c)对类型中每个成员的声明,array和delegate除外,他们不包含命名成员。

技术分享图片

值类型和引用类型

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

引用类型需要两段内存。

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

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

技术分享图片

技术分享图片

 C#类型的分类

技术分享图片

变量

变量是一个名称,表示程序运行时存储在内存中的数据

技术分享图片

变量声明

变量在使用前必须声明。变量声明定义了变量,并完成了两件事

       a)给变量命名,并为它关联一种类型

       b)让编译器为它分配一块内存

变量初始化语句

除声明变量的名称和类型外,声明还能把它的内存初始化为一个明确的值

自动初始化

技术分享图片

技术分享图片

 静态类型和dynamic关键字

静态类型:变量的类型在编译的时候确定并且不能在运行时修改。

dynamic:在编译时,编译器不会对dynamic类型的变量进行类型检查。它将与该变量及该变量的操作有关的所有信息打包。在运行时,会对这些信息进行检查,以确保它与变量所代表的实际类型保持一致,否则将在运行时抛出异常。

 

可空类型

可空类型允许创建可以标记为有效或无效的值类型,这样就可以在使用它之前确定值的有效性。

以上是关于类型存储和变量的主要内容,如果未能解决你的问题,请参考以下文章

c 变量的存储类型auto等(基础知识)和c函数变量

Java原始类型变量存储

C51 存储类型与存储模式

c语言的auto和static类型变量

c 存储类型

关于类型的存储时间和链接