美文网首页
第1章 变量和类型

第1章 变量和类型

作者: 睁眼说瞎话要勇敢 | 来源:发表于2020-02-13 17:28 被阅读0次

1.类型

1.1什么是类型

类型可以看成用来创建数据结构的模板,但模板本身不是数据结构.所以在定义类型以后,要使用必须先实例化.

1.2类型构成

类型有三部分组成:名称,数据结构,方法

1.3类型分类

c#中类型分两大类三小类.

第一大类:预定义类型,分两小类,

----------简单类型:数值类型,字符类型(char),布尔类型(bool)(注:数值不能自动转为bool)

----------非简单类型:字符数组(string),基类(object),dynamic

第二大类:自定义类型

c#提供了6中自定义类型,他们分别是:

----类类型(class);    ----结构类型(struct);    ----数组类型(array);

----枚举类型(enum);    ----委托类型(delegate);    ----接口类型(interface);

1.4类型的创建

类型创建格式:

<要创建的类型>    <名称>

{类型成员声明;}

2数据存储

2.1栈

栈是一种内存数组,存储以下几种类型的数据:

----某些类型变量的值;

----程序当前执行环境;

---传递给方法的参数;

2.2堆

堆是用来存储某些类型的数据对象,有垃圾回收机制.

2.3数据存储

类型还可以分为值类型和引用类型,这两种类型的对象在内存中的存储方式不同.

-------------当类型不是其他类型的成员时:

----值类型:只需要一段单独的内存,用来存放数据------------存储在栈中

----引用类型:需要两段内存

----------第一段存储实际的数据--------------------------------------放在堆内

----------第二段是一个地址,指向数据存放在堆内的位置------放在栈内

------------当类型是某个类型的成员时:

---此时,作为其他类型成员的类型,无论是值类型还是引用类型,数据和地址放在<堆>内.

3变量

3.1变量分类

常见4中变量:

-----本地变量------------------在方法的作用域内保存临时数据,不是类型的成员

-----字段-------------------------保存类型或类型实例相关的数据,是类型成员

-----参数-----------------------向方法传递数据的临时变量,不是类型的成员

-----数组元素--------------------可以为本地变量也可以为类型成员

3.2 dynamic关键字

c#是静态语言,但很多脚本语言如Python都是动态语言,他们只有在程序运行时才确定变量的类型,c#在引用这些

语言所编写的程序集时就出现问题.dynamic就是为了解决这个问题的.

3.3可空类型

此类型和值的有效性相关,在处理数据库相关操作时,我们不知道该值是否有效,但普通的值类型都必须在栈内开辟空间

并存储值,可空类型解决此类问题.

相关文章

  • golang的值类型,指针类型和引用类型&值传递&指针传递

    一,变量类型 变量分为值类型,指针类型和引用类型。以如下变量定义和赋值语句为例: output: 值类型变量a,值...

  • JavaScript 高级程序设计(第4章 变量、作用域和内存问

    第4章 变量、作用域和内存问题 1. 基本类型和引用类型 基本数据类型:Undefined、Null、Boolea...

  • 第1章 变量和类型

    1.类型 1.1什么是类型 类型可以看成用来创建数据结构的模板,但模板本身不是数据结构.所以在定义类型以后,要使用...

  • 变量和类型

    前端工程师吃饭的家伙,深度、广度一样都不能差。 一、JavaScript 规定了几种语言类型 7 种基本数据类型:...

  • 变量和类型

    第7节:变量和类型 思考 QQ 程序的登录过程 思考 1 QQ如何验证账号和密码? 答案 CPU 对账号信息进行处...

  • Go 基础篇总结-变量

    一、Go内建变量类型 类型转换 type(varName) 二、变量定义 四种变量定义类型: 变量定义 三、变量和...

  • Go 基础篇-变量

    一、Go内建变量类型 类型转换 type(varName) 二、变量定义 四种变量定义类型: 变量定义 三、变量和...

  • c++ primer 阅读 day3

    第2张 变量和基本类型 2.2.2 变量声明和定义的关系 声明(declaration) 使得名字为程序所知定义(...

  • openGL变量和变量类型

    主要分为标量,float,int,uiny,bool 向量float,vec2,vec3的有1,2,3个分量的基于...

  • dart基础

    变量 动态类型or静态类型 变量类型: 内置类型 变量声明和赋值: Tips没有初始化的变量, 默认值都是null...

网友评论

      本文标题:第1章 变量和类型

      本文链接:https://www.haomeiwen.com/subject/pzclfhtx.html