IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 04 C#编程中的类型,存储和变量 -> 正文阅读

[数据结构与算法]04 C#编程中的类型,存储和变量

1. C# 程序是一组类型声明

越是感觉简单的东西,简单的表述,就很难理解。

C#程序怎么去理解是一组类型声明呢?我们创建任何程序时,都是由变量,字段,方法组成。声明变量,声明方法,声明字段,就理解为一组类型的声明。

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

2. 类型是一种模板

C#中的数据类型,可看成是一个用来创建数据结构的模板。

模板详细的说了该构造对象的特征。

例如:

short-- 名称

2byte --存储数据成员的数据结构

16位整数 – 约束条件

3. 实例化类型

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

short i=12;

上代码我就称为创建了short(短整型)的对象或者实例

4. 数据成员和函数成员

数据成员:保存与这个类的对象或整个类相关的数据

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

5.预定义类型

C#提供了16种预定义类型(13种简单类型,3种非简单类型)

所有预定义类型的名称都由小写字母组成。

11种数值类型:

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

浮点数据类型float和double

高精度小数类型decimal

字符类型char (Unicode)

布尔类型bool

3种非简单类型

String 一个Unicode字符数组

Object 所有类型的基类

Dynamic 使用动态语言编写的程序集时使用
在这里插入图片描述

6. 用户定义类型

6种类型可由用户自己创建

类类型class

结构类型struct

数组类型array

枚举类型enum

委托类型delegate

接口类型interface

7. 堆和栈

运行程序时,它的数据必须存储在内存中。运行中的程序使用2个内存区域来存储数据:栈和堆

:是一个内存数组,是一个LIFO(Last in First out 后进先出)的数据结构。

栈存储的几种数据类型:

某些类型变量的值

程序当前的执行环境

传递给方法的参数

栈:

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

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

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

堆是一块内存区域,在堆里可以分配大块的内存用于存储某种类型的数据对象。

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

CLR的自动垃圾收集器自动清除无主的堆对象。

8.值类型和引用类型

数据项的类型定义了存储数据所需要的内存大小以及该类型的数据成员。

类型还决定了对象在内存中的存储位置—栈和堆。

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

引用类型:需要2段内存,第一段内存存储实际的数据,它总是位于堆中,第二段是一个引用类型,指向数据堆中的存放位置。

存储引用类型对象成员

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

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

在这里插入图片描述

9.变量

变量是一个名称,表示程序执行时存储在内存中的数据。
在这里插入图片描述

变量声明

变量在使用前必须声明,变量声明定义了变量,完成了2件事:

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

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

Intx=2;

变量初始化,由一个等号后跟一个初始值组成。

自动初始化
在这里插入图片描述

多变量的声明

多变量声明中的变量必须类型相同

变量名直接必须逗号分隔,可在变量名后包含初始化语句

例如:

int x = 7, y, z = 9;

Console.WriteLine($“x= {x},z={z}”);

变量x, y, z都是同一类型,逗号分割,可声明时同时初始化值。

使用变量的值

变量名代表变量保存的值,可以通过使用变量名来使用值

Console.WriteLine($“x= {x},z={z}”); 使用变量的值

输出:x= 7,z=9

10. 静态类下和dynamic关键字

变量类型在编译确定并且不能再运行时修改,这称作静态类型。

C#语言设计者增加了dynamic关键字,代表一个特定的C#类型,它知道如何在运行时解析自身。编译时,编译器不会对dynamic类型的变量做类型检查。

11.可空类型

可空类型允许创建标记为无效或者无效的值类型变量,普通的值类型为非可空类型。

后续有单独的章节讲述可空类型和使用。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-09-29 10:33:19  更:2021-09-29 10:33:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 11:28:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码