深入理解C#数据类型:值类型与引用类型

需积分: 1 0 下载量 196 浏览量 更新于2024-08-23 收藏 1.67MB PPT 举报
"北大青鸟6.0 .Net 第二章理论ppt主要讲解了C#中的值类型存储方式、数据类型、类与对象的概念、属性的使用以及方法的定义。" 在.NET框架中,值类型(Value Types)是直接存储其值的数据类型。如在描述中所示,`age1` 和 `age2` 都是整型变量,属于值类型。当`age1` 被赋值为18后,`age2` 被赋值为 `age1`,这实际上是将 `age1` 的值复制给了 `age2`。因此,对 `age1` 或 `age2` 的后续修改不会互相影响,因为它们各自持有独立的值。 深入C#数据类型中,类(Class)是表示现实世界中实体的状态和行为的抽象。对象是类的实例,它们具有类定义的属性(Attributes)和方法(Methods)。例如,`PM` 类代表项目经理,具有 `Name` 和 `Age` 等属性,以及可能的行为(如问候方法)。 类的属性用于封装数据,提供对类内部字段的访问控制。`private` 关键字使得字段只能在类内部访问,而 `public` 属性如 `Name` 和 `Age` 提供了外部访问。属性可以有 `get` 和 `set` 访问器,用于获取和设置字段的值,同时可以包含验证逻辑,如确保 `Age` 在30至100之间。自动属性则简化了属性的定义,由编译器自动处理私有字段的生成和访问器的实现。 方法是表示类或对象行为的函数,它们定义了参数、返回值和执行的操作。方法定义包括参数列表(描述传递给方法的数据)、返回类型(如果有的话)以及方法体内的代码块。例如,一个问候方法可能接受项目经理的名字作为参数,然后返回一句问候语。 本章还强调了理解结构(Structures)的重要性,它们也是值类型,但与类不同,结构不支持继承和方法的重载。此外,通过案例分析了值类型和引用类型作为方法参数时的区别,值类型参数会在调用时复制,而引用类型参数传递的是对象的引用,而非对象本身。 最后,本章的任务包括使用Visio绘制类图,实现项目经理评分、计算机编号和投票器等实际问题,以加深对类、对象、封装和方法调用的理解,并利用静态方法解决实际问题。静态方法属于类,而非类的实例,它们不依赖于对象状态,可以直接通过类名调用。