C# 图解教程 第5版 —— 第4章 类型、存储和变量

4.1 C# 程序是一组类型声明

  • C# 程序或 DLL 的源代码是一组类型声明
  • 类型声明中必须包含 Main 方法的类

4.2 类型是一种模板(*)

4.3 实例化类型

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

4.4 数据成员和函数成员

  • 数据成员:保存了类对象或整个类的相关数据。
  • 函数成员:执行代码,定义类型的行为。

4.5 预定义类型

​ C# 中,数值类型不具有布尔意义。

image-20231015144912050
图4.1 预定义类型

​ 所有预定义类型都直接映射到底层的 .NET 类型,C# 的类型名称就是 .NET 类型的别名。

​ 应尽量使用 C# 类型名称而不是 .NET 类型名称。

表4.1 预定义简单类型
image-20231015145053081
表4.2 预定义非简单类型
image-20231015145123951

4.6 用户定义类型

​ C# 中可创建的 6 中用户类型:

  • 类(class)
  • 结构(struct)
  • 数组(array)
  • 枚举(enum)
  • 委托(delegate)
  • 接口(interface)

4.7 堆和栈(*)

4.8 值类型和引用类型

  • 值类型:需要一段单独的内存

    • 用于存储实际数据
  • 引用类型:需要两段内存

    • 第一段存储实际数据,位于堆中
    • 第二段是一个引用,指向堆中的数据
image-20231015150016381
图4.2 非成员数据的存储
表4.3 C# 中的值类型和引用类型
image-20231015150151459

4.9 变量

表4.4 4种变量
image-20231015150251955

4.9.1 变量声明

  1. 变量初始化语句

无初始化语句的局部变量有一个未定义的值,在赋值之前不能使用。

image-20231015150445452
图4.3 变量初始化语句
  1. 自动初始化

    一些类型的变量在声明时如果没有初始化语句,会被自动赋值,而另一些则不能。表 4.5 展示了这些情况。

表4.5 变量类型
image-20231015150901960 image-20231015150917842

4.9.2 多变量声明(*)

4.9.3 使用变量的值(*)

4.10 静态类型和 dynamic 关键字

  • 静态类型:变量的类型在编译的时候确定并且不可更改
  • dynamic:动态类型,不会被编译器做类型检查

4.11 可空类型(*)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔗理苦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值